SSH 연결은 호스트에 여전히 승인이 필요하다는 것을 알고 있습니다.

SSH 연결은 호스트에 여전히 승인이 필요하다는 것을 알고 있습니다.

duply보안 연결을 사용하여 백업 서버를 설정하려고 합니다.

~/.ssh/config다음 내용으로 파일을 만들었습니다 .

Host backup
  IdentityFile ~/.ssh/id_ed25519_backup
  Hostname <server_ip>
  Port 22
  User <user_on_host>

known_hosts또한 서버 공개 키(다음 위치에 있음)를 복사하여 붙여넣어 /etc/ssh/ssh_host_ed25519_key.pub파일을 정의했습니다.

다음 명령을 사용하면 모든 것이 잘 작동하는 것 같습니다 ssh -v backup.

Authenticated to <server_ip> ([<server_ip>]:22)

그러나 duply백업 루틴을 시작할 때 서버가 인식되지 않는 것을 발견했습니다.

The authenticity of host '[<server_ip>]:22' can't be established.
SSH-ED25519 key fingerprint is c3:06:95:f8:5f:d3:76:7f:c6:9d:19:ef:e5:23:9a:14.
Are you sure you want to continue connecting (yes/no)? 

왜 이런 일이 발생합니까?


고쳐 쓰다

duply공개 키의 MD5 해시가 계산되는 동안 SHA256이 계산되는 것으로 보입니다 ssh. 실제로 앞서 언급했듯이여기, ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ed25519_key.pub위와 동일한 16진수를 반환합니다. 동일한 키의 두 가지 다른 해시인데 왜 여전히 연결 확인을 요청합니까? SSH가 단일 해싱 알고리즘만 사용하도록 강제할 수 있습니까?

추가 업데이트:

ssh -o FingerprintHash=md5 -v backup확인이 필요하지 않으므로 문제 가 duply.known_hosts

답변1

duplyParamiko Python 모듈을 기반으로 구축하고 그 구현을 더 자세히 조사한 결과 Paramiko는 해시된 알려진 호스트를 관리할 수 없는 것으로 보입니다. 그런 다음 /etc/ssh/ssh_config설정을 통해 SSH 구성 파일을 수정하고 HashKnownHosts no명시적인 대상 IP 및/또는 도메인을 삽입하여 콘텐츠를 재정의했습니다.~/.ssh/known_hosts

관련 정보