인증 실패

인증 실패
You have no controlling tty and no DISPLAY.  Cannot read passphrase.
warning: Authentication failed.
Disconnected (local); authentication cancelled by user (Authentication cancelled by user.).
Disconnect reason 13, exit code = 77
scp: warning: ssh2 client failed to authenticate. (or you have too old ssh2 installed, check with ssh2 -V)

스크립트를 실행할 때 이 오류가 발생합니다. SSH는 서버 간에 양방향으로 작동합니다.

답변1

문제는 사용자 입력(귀하의 경우 개인 키를 해독하기 위한 암호 문구 또는 비밀번호)이 필요한 일종의 인증 방법을 사용하고 있지만 프로그램이 시작되지 않았기 때문에 사용자 입력을 받을 수 없다는 것입니다. 그래픽 세션( ssh암호를 요청하는 창 양식 생성 방지) 또는 터미널(따라서 ssh대화식으로 암호를 요청할 수 없음)에서.

ssh세션 열기를 테스트할 때 작동합니다. 이 경우 ssh터미널에서 시작하므로 암호를 얻는 데 문제가 없기 때문입니다.

제어 tty 없이 스크립트를 실행하는 경우(예: cron 작업) 필요한 것은 비대화형 인증입니다. 예를 들어 암호가 없는 개인 키입니다. 물론 이것은 다소 안전하지 않으며 서버에서 모든 기능을 갖춘 셸을 얻기 위해 개인 키를 알게 되는 공격자를 방지하기 위해 ssh를 통해 스크립트에서 실행 가능한 명령 세트를 제한하고 싶을 수도 있습니다.

관련 정보