it-swarm-korea.com

공개 / 개인 키를 사용하여 SSH를 통해 시스템에 처음 연결할 때 "known_Host"질문을 어떻게 건너 뛰나요?

공개/개인 키를 사용하여 SSH를 통해 시스템에 처음 연결할 때 "known_Host"질문을 어떻게 건너 뛰나요?

16
Crazy Chenz

다른 모든 현재 답변에는 UserKnownHostsFile =/dev/null이 없습니다.

한 번만 사용하려면 다음을 사용할 수 있습니다.

ssh -o StrictHostKeychecking=no hostname

반복적으로 수행하려면 ~/.ssh/config에 다음과 같은 내용을 추가해야합니다.

Host 192.168.0.*
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null

Windows 용 OpenSSH에서이를 구성하려면 /dev/nullNUL.

좋은 설명 : http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-Host-key-checking.html

31
Jason Axelson

ssh_config 또는 명령 줄 옵션을 통해 StrictHostKeyChecking을 끕니다.

13
chaos

공개 키를 가져와 known_hosts 파일에 추가 한 다음 다시 해시 할 수 있습니다.

ssh-keyscan -t rsa hostname >> .ssh/known_hosts
ssh-keygen -H
rm .ssh/known_hosts.old
3
egridasov
$ ssh -o StrictHostKeychecking=no hostname

이렇게하면 검사를 건너 뛰고 처음 로그인 할 때 원격 호스트의 키가 자동으로 추가됩니다. (CheckHostIP 옵션도 있지만 실제로 키가 있는지 여부에 대한 확인을 전혀 비활성화하지 않는 것 같습니다).

2
Nelson

이것은 나를 찾는 데 시간이 걸렸습니다. 내가 본 가장 일반적인 사용 사례는 원격 네트워크에 대한 ssh 터널이있을 때입니다. 여기에있는 모든 솔루션은 내 스크립트 (nagios)를 깨뜨리는 경고를 생성했습니다.

필요한 옵션은 다음과 같습니다.

NoHostAuthenticationForLocalhost yes

이름에서 알 수 있듯이 localhost에만 적용됩니다.

2
richo

호스트 검사를 일시적으로 비활성화하여 LiveCD 시스템에 로그인 할 수 있도록하려면 예를 들어 ~/.ssh/known_hosts 다른 것으로 변경 한 다음 완료되면 다시 변경하십시오.

0
endolith

검사를 비활성화 할 수 있지만 물론 덜 안전합니다. 이상적인 상황에서해야 할 일은 이미 머신에 액세스 할 수있는 누군가에게 공개 호스트 키를 가져와 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
0
erh