특정 네트워크에서 접속할 때 사용자의 SSH 비밀번호를 갖지 않는 것이 가능합니까?

특정 네트워크에서 접속할 때 사용자의 SSH 비밀번호를 갖지 않는 것이 가능합니까?

특정 네트워크에서 연결할 때 비밀번호를 제공하지 않고 SSH에 로그인하고 싶습니다(위험을 알고 있습니다).

이것은 구성할 수 있는 것입니까?

여기서는 키 기반 인증(노출된 네트워크에 사용되는)이 아니라 해당 사용자의 비밀번호를 입력할 필요 없이 로그인을 입력하고 인증되는 기능을 언급하고 있다는 점에 유의하세요.

답변1

예, 다음과 같습니다.

sshpass -pfoobar ssh -o StrictHostKeyChecking=no user@host command_to_run

SSH패스"키보드 대화형" 비밀번호 인증이라는 모드를 사용하지만 비대화형 모드에서 ssh를 실행하도록 설계된 유틸리티입니다.

ssh는 직접 TTY 액세스를 사용하여 비밀번호가 실제로 대화형 키보드 사용자에 의해 발행되었는지 확인합니다. Sshpass는 전용 tty에서 ssh를 실행하여 대화형 사용자로부터 비밀번호를 얻는다고 생각하도록 속입니다.

실행할 명령은 sshpass의 자체 옵션 뒤에 지정됩니다. 일반적으로 인수가 포함된 "ssh"이지만 다른 명령도 가능합니다. 그러나 ssh에서 사용하는 비밀번호 프롬프트는 현재 sshpass에 하드코딩되어 있습니다.

관련 정보