2012-03-16 3 views
7

내 프로젝트 중 하나에 자식을 사용하고 있습니다. 원격 저장소로 푸시하려고 할 때마다 git은 X 윈도우를 사용하여 암호를 입력하라는 메시지를 표시하므로 컴퓨터에 ssh 연결을 시도하면 X 화면을 내 화면에 표시해야합니다.터미널에서 암호를 입력하라는 메시지가 표시됩니다.

터미널 자체에 비밀번호를 요구할 수 있습니까?

+0

나는 자식 버전이 1.7.1을 사용하고있다. –

+0

나는 암호를 요구하고있는 ssh 인 것 같아. – Shahbaz

+0

아마도 개인용 저장소이고, 권한이 있는지를 확인하기 위해 내 공개 키의 암호를 묻고있다. 저 repo에 밀기 위하여. 이제 해당 서버에서 X 전달이 금지되므로 밀어 낼 수 없습니다. –

답변

2

이것은 git의 동작이 아닙니다. 당신은 SSH를 통해 repo로 밀고 있으며, SSH는 귀하의 암호를 요구하고 있습니다. ssh 맨 페이지는 말한다 : ssh를 설정하는 것이 있지만, DISPLAY와 SSH_ASKPASS과 관련된 단자가 없을 경우는 SSH_ASKPASS에 의해 지정된 프로그램을 실행하고 암호를 읽으려는 X11 창이 열립니다

. 원격 호스트에 ssh를 할 때

는 일반적으로 ssh를 정확히 이러한 종류의 문제를 방지하기 위해 DISPLAY 변수를 삭제하지만, 기본 구성이 허용하는 것보다 더 환경 변수를 전파 할 SSH를 구성 할 수있다 가능합니다. 이 경우 ssh가 이 아닌지 확인하십시오.은 원격 호스트에 DISPLAY 변수를 복사합니다 (X11 전달이 필요하면 ssh가 새 DISPLAY 변수를 만들며 원래 값은 필요하지 않습니다). 그러면 ssh-askpass이 git을 실행중인 서버에서 실행되지 않도록해야합니다.

5

@Screwtape는 적어도 부분적으로는 정확합니다 (his answer). this page을 보면 동일한 문제 (큰 문제가 있음)가 표시되지만이 오류를 해결하는 방법도 나와 있습니다. 당신이 자식 명령을 실행하려는 컴퓨터에 SSH'ing하는 동안

, 시도 :

$ unset SSH_ASKPASS 

이는 $ SSH_ASKPASS 환경 변수 설정을 해제합니다. 실행할 자식 명령을 실행하면 제대로 작동합니다. 그것은 내가 CentOS 서버에 SSH'ing 오전 내 창문 putty 터미널에서 작동합니다. 이 설정되지 않은 변경은 아니요 영구적이며 (아마도 좋은 점입니다) 다음에 로그인 할 때이 매개 변수를 다시 설정 해제해야하지만 GIT 스크립트를 실행하려면 작업을 완료해야합니다.

왜이 버그가 2 년 전에보고되었지만 여전히 존재합니까? From this source, Windows는 DISPLAY 환경 변수를 설정하지 않으므로 GIT는이 검사를 수행하면 제대로 작동하지 않습니다. 따라서 기능이 사라지고 (분명히) @Screwtape에 의해 남겨진 인용문이 올바르게 복사되지만 실제로는 적용되지 않습니다.

관련 문제