SSH 클라이언트 측에서 비밀번호 프롬프트를 비활성화하는 방법은 무엇입니까?


9

공개 / 개인 키 ssh 인증에 의존하는 스크립트가 있습니다. 문제는 일부 시스템이 잘못 구성되어 있고 적절한 ssh 공개 / 개인 키 트러스트가 설정되어 있지 않다는 것입니다. 그런 일이 발생 ssh하면 스크립트 실행을 차단하는 비밀번호를 요청하십시오. 나는이 명령을 시도했다 :

sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call

그러나 여전히 루트 암호를 묻는 메시지가 나타납니다.


시행 착오 후에 필요한 옵션을 찾았습니다. "PreferredAuthentications=publickey"
레드 크리켓

제안 된 솔루션보다 낫습니까? (배치 모드)
knocte

답변:


9

이를 수행하는 정식 방법은 다음 BatchMode옵션을 사용하는 것입니다.

ssh -o BatchMode=yes …

매뉴얼 에 따르면 :

"yes"로 설정하면 암호 / 암호 쿼리가 비활성화됩니다. 이 옵션은 비밀번호를 제공 할 사용자가없는 스크립트 및 기타 배치 작업에 유용합니다.

나는의 조합을 예상했을 것 PasswordAuthentication=noChallengeResponseAuthentication=no충분한 생각합니다. ssh -vv단서를 얻을 수 있습니다.


그것도 작동합니다! $ sudo ssh last-call-2 Password: $ sudo ssh -o "BatchMode=yes" last-call-2 Permission denied (gssapi-keyex,gssapi-with-mic,publickey,password,keyboard-interactive).
레드 크리켓
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.