문제는 "원격 호스트 식별이 변경되었습니다!"를 수정하는 것입니다. 문제서버 측에서.
나는 그 의미를 알고 있으며 내가 하고 있는 일이 무엇인지 정확히 알고 있습니다.
- 서버를 재설치/업그레이드하고 있으며 프로세스가 최대한 원활하게 진행되기를 원합니다.
- 재설치/업그레이드 중에 이전 버전이나 새 버전으로 여러 번 부팅해야 할 수도 있습니다.
따라서 클라이언트 측의 경고를 최대한 제거해야 합니다. 그렇지 않으면 ~/known_hosts
불필요하게 파일을 앞뒤로 뒤집어야 합니다 .
그러면 새 서버의 지문/ECDSA 키를 이전과 동일하게 설정하는 방법은 무엇입니까?
답변1
업데이트: 조금 생각해 본 후, 핵심 파일과 이를 참조하는 구성 항목만 복사하도록 권장 사항을 변경할 것 같습니다. 키 파일은 모두 /etc/ssh/에 있으며 이름이 지정되어 있고 ssh_host_<keytype>_key
각 파일에는 확장명이 있는 해당 공개 키 파일이 있습니다 .pub
. 다음은 dsa, ecdsa, ed25519 및 rsa 키의 예입니다.
$ cd /etc/ssh
$ ls -l ssh_host_*key*
-rw------- 1 root root 668 Apr 8 03:43 ssh_host_dsa_key
-rw-r--r-- 1 root root 606 Apr 8 03:43 ssh_host_dsa_key.pub
-rw------- 1 root root 227 Apr 8 03:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 178 Apr 8 03:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root 411 Apr 8 03:43 ssh_host_ed25519_key
-rw-r--r-- 1 root root 98 Apr 8 03:43 ssh_host_ed25519_key.pub
-rw------- 1 root root 1679 Apr 8 03:43 ssh_host_rsa_key
-rw-r--r-- 1 root root 398 Apr 8 03:43 ssh_host_rsa_key.pub
HostKey
그리고 /etc/ssh/sshd_config에 sshd에게 해당 항목을 사용하라고 지시하는 항목이 있을 수 있습니다 . 내 경우에는 파일이 기본 파일이므로 관련 줄이 주석 처리되었습니다.
$ grep HostKey /etc/ssh/sshd_config
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
원래 서버에서 키 파일을 복제할 수 있어야 하며(이전 권한과 일치해야 함), 주석 처리되지 않은 항목이 있으면 HostKey
해당 항목을 새 구성 sshd_config
파일에도 추가해야 합니다. 기본이 아닌 다른 설정이 있는 경우 해당 설정도 복사해야 합니다.
/etc/ssh/
원래는 이전 서버의 전체 디렉터리를 새 서버로 복제하는 것을 권장했습니다 . 이는 추가 설정 변경 사항을 자동으로 복사한다는 장점이 있습니다. 단점(그리고 권장하지 않기로 결정한 이유)은 이전 구성에 보안 개선을 위한 변경 사항이 포함되지 않을 수 있다는 것입니다.
예를 들어 이전 구성에는 사용자 정의 Diffie-Hellman 모듈이 포함된 /etc/ssh/moduli 파일이 없을 수 있으며 새 OS 버전에서는 파일이 자동 생성되지 않을 수 있습니다. 이는 기본 모듈러스가 그다지 안전하지 않고 모든 사람이 동일한 모듈을 사용했기 때문에 이에 대한 공격은 모든 사람에 대한 공격이기 때문에 문제가 될 수 있습니다. 보다여기그리고여기더 많은 정보를 원하시면.
"이전" 서버 구성이 너무 오래되지 않은 경우 이미 사용자 정의 모듈리 파일이 있어야 하지만 이는 단지 예일 뿐입니다. 업데이트해야 할 다른 사항이 있을 수 있으므로 대부분 새로운 구성을 사용하는 것이 더 나을 것입니다. 참고로, 다른 모듈을 사용해도 "ID CHANGED" 유형 오류가 발생하지 않으므로 해당 파일이 이전 서버에 존재하는 경우 복사할 필요가 없습니다.