중복 가능성 :
비밀번호를 입력 할 필요가 없도록 SSH를 어떻게 설정합니까?
나는 다음 명령을 실행 :-
ssh -l admin hostname command
하지만 내가 그것을 실행할 때마다 암호를 입력하라는 메시지가 표시됩니다 ..... bash 파일에 넣을 것이므로 암호를 기본값으로 지정할 수 있습니까?
중복 가능성 :
비밀번호를 입력 할 필요가 없도록 SSH를 어떻게 설정합니까?
나는 다음 명령을 실행 :-
ssh -l admin hostname command
하지만 내가 그것을 실행할 때마다 암호를 입력하라는 메시지가 표시됩니다 ..... bash 파일에 넣을 것이므로 암호를 기본값으로 지정할 수 있습니까?
답변:
비밀번호없는 SSH 로그인
당신의 목표 :
Linux 및 OpenSSH를 사용하여 작업을 자동화하려고합니다. 따라서 호스트 A / 사용자 a에서 호스트 B / 사용자로 자동 로그인해야합니다. b. 쉘 스크립트 내에서 ssh를 호출하기 때문에 비밀번호를 입력하고 싶지 않습니다. 그것을하는 방법
먼저 사용자 a로 A로 로그인하고 한 쌍의 인증 키를 생성하십시오. 암호를 입력하지 마십시오 :
a@A:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa):
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A
이제 ssh를 사용하여 B에서 사용자 b로 ~ / .ssh 디렉토리를 작성하십시오 (디렉토리가 이미 존재할 수 있음).
a@A:~> ssh b@B mkdir -p .ssh
b@B's password:
마지막으로 b의 새 공개 키를 b @ B : .ssh / authorized_keys에 추가하고 마지막으로 b의 비밀번호를 입력하십시오.
a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password:
이제부터 비밀번호없이 A에서 B로 b로 B에 로그인 할 수 있습니다.
a@A:~> ssh b@B hostname
B
독자 중 한 사람의 메모 : SSH 버전에 따라 다음과 같이 변경해야 할 수도 있습니다.
"sshpass"유틸리티를 사용하십시오. -p PASSWORD를 인수로 사용하여 ssh에 전달합니다. 'sshpass -p MyPassword ssh -l admin hostname 명령'또는 환경 변수 'sshpass -e MYPASSWD ssh -l admin hostname 명령'에서 안전하게 보호
자세한 내용은 http://www.debianadmin.com/sshpass-non-interactive-ssh-password-authentication.html