LAN에서 openssh 호스트 키 검사를 비활성화합니다.

LAN에서 openssh 호스트 키 검사를 비활성화합니다.

호스트 키를 처리하고 싶지 않은 LAN 주소를 지정하려면 어떻게 해야 합니까?

/etc/ssh/ssh_config
Host 192.168.*.*
   StrictHostKeyChecking no
   UserKnownHostsFile /dev/null

또는

UserKnownHostsFile none

~ 일지라도

CheckHostIP no

아무것도 하지 않습니다. openssh 7.1p1. ~/.ssh 또는 /etc에 Known_hosts 파일이 없으므로 다음과 같은 결과가 나타납니다.

The authenticity of host '<hostname> (192.168.2.2)' can't be established.
ECDSA key fingerprint is SHA256:.....
Are you sure you want to continue connecting (yes/no)?

이 기능은 최근 openssh에서 일부 변경되었습니다. 이전 질문에서는 위와 같이 ssh_config를 사용하도록 제안했지만 더 이상 작동하지 않는 것 같습니다.

예, 무서운 생각입니다. 나는 무슨 일이 있어도 하고 싶다. 이로 인해 중간자 공격의 위험이 발생합니다. 구성 문제가 있는 경우 잘못된 서버에 연결할 수 있습니다. 나는 Known_hosts와 지문을 자주 변경하는 내가 소유한 여러 VM에서 항목을 삭제하는 데 지쳤으며 위험을 감수할 의향이 있습니다. 응, 다른 질문도 있어이렇게 올바른 방법으로 설명해주세요, 하지만 난 그러고 싶지 않아요. 그냥 끄고 싶어요.

답변1

openssh 메일링 리스트에 있는 귀하의 솔루션이 허용 가능한 것 같습니다. 또한 여기로 전달됩니다:

Match exec "ping -q -c 1 -t 1 %n | grep '192\.168\.'"
   StrictHostKeyChecking no
   UserKnownHostsFile /dev/null

원천:http://lists.mindrot.org/pipermail/openssh-unix-dev/2015-August/034335.html

답변2

~/.ssh/config 또는 /etc/ssh/ssh_config에서:

Host 192.168.*.*
  CheckHostIP no
  StrictHostKeyChecking no
  LogLevel=quiet
  UserKnownHostsFile=/dev/null

CheckHostIP no스푸핑에 대한 경고를 억제하고 호스트 파일이 없을 때 긴 일시 중지를 중지합니다.

StrictHostKeyChecking no원격 컴퓨터의 신뢰성이 의심스러운 경우 어쨌든 연결에 대한 사용자 메시지를 제거하십시오.

LogLevel=quiet알려진 호스트 목록에 호스트를 추가하는 것에 대한 성가신 메시지를 제거했습니다.

UserKnownHostsFile=/dev/nullKnown_hosts 파일 생성을 중지합니다.

로컬 네트워크의 호스트 이름을 사용하는 경우 해당 호스트 이름도 추가해야 합니다. 또는 로컬 네트워크에서만 SSH를 사용하려는 경우 다음을 사용하세요.Host *

관련 정보