공개/개인 키를 사용하여 SSH를 통해 시스템에 처음 연결할 때 "known_Host"질문을 어떻게 건너 뛰나요?
다른 모든 현재 답변에는 UserKnownHostsFile =/dev/null이 없습니다.
한 번만 사용하려면 다음을 사용할 수 있습니다.
ssh -o StrictHostKeychecking=no hostname
반복적으로 수행하려면 ~/.ssh/config에 다음과 같은 내용을 추가해야합니다.
Host 192.168.0.*
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
Windows 용 OpenSSH에서이를 구성하려면 /dev/null
와 NUL
.
좋은 설명 : http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-Host-key-checking.html
ssh_config
또는 명령 줄 옵션을 통해 StrictHostKeyChecking
을 끕니다.
공개 키를 가져와 known_hosts 파일에 추가 한 다음 다시 해시 할 수 있습니다.
ssh-keyscan -t rsa hostname >> .ssh/known_hosts
ssh-keygen -H
rm .ssh/known_hosts.old
$ ssh -o StrictHostKeychecking=no hostname
이렇게하면 검사를 건너 뛰고 처음 로그인 할 때 원격 호스트의 키가 자동으로 추가됩니다. (CheckHostIP 옵션도 있지만 실제로 키가 있는지 여부에 대한 확인을 전혀 비활성화하지 않는 것 같습니다).
이것은 나를 찾는 데 시간이 걸렸습니다. 내가 본 가장 일반적인 사용 사례는 원격 네트워크에 대한 ssh 터널이있을 때입니다. 여기에있는 모든 솔루션은 내 스크립트 (nagios)를 깨뜨리는 경고를 생성했습니다.
필요한 옵션은 다음과 같습니다.
NoHostAuthenticationForLocalhost yes
이름에서 알 수 있듯이 localhost에만 적용됩니다.
호스트 검사를 일시적으로 비활성화하여 LiveCD 시스템에 로그인 할 수 있도록하려면 예를 들어 ~/.ssh/known_hosts
다른 것으로 변경 한 다음 완료되면 다시 변경하십시오.
검사를 비활성화 할 수 있지만 물론 덜 안전합니다. 이상적인 상황에서해야 할 일은 이미 머신에 액세스 할 수있는 누군가에게 공개 호스트 키를 가져와 ssh에게 사용하도록 지시하는 것입니다. 즉 : 다음의 출력을 가져옵니다.
cat /etc/ssh/ssh_Host_rsa_key.pub
컴퓨터의 호스트 이름을 앞에 추가하고 해당 줄을 컴퓨터의 ~/.ssh/known_hosts 파일에 추가합니다. 다음과 같은 결과를 얻게됩니다.
myhost.example.com ssh-rsa AAAAB3Netc ...
또는 제한된 대역폭 채널 (예 : 전화 통화)을 통해 전송하는 것이 더 쉬울 수있는 키의 지문 만 가져 오려면 도우미를 실행하도록 할 수 있습니다.
ssh-keygen -lf /etc/ssh/ssh_Host_rsa_key.pub