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