동일한 (그러나 변경) IP 주소에서 2 개의 다른 호스트로 SSH 호스트 키 확인을 처리하는 방법은 무엇입니까? [닫은
-
06-09-2019 - |
문제
매일 WAN IP를 변경하는 위치에 NAT 방화벽 뒤에 2 개의 SSH 서버가 있습니다. 그들은 항상 주어진 시간에 동일한 WAN IP 주소에 있지만 다른 포트에 있습니다.
나는이 방법으로 서버에 연결하고있다 :
ssh -p 22001 karl@x1.example.com
그리고 서버 B : :
ssh -p 22002 karl@x2.example.com
따라서 동일한 IP에 대해 2 개의 다른 호스트 키와 IP가 동일한 호스트에 대해 다른 IP를 변경할 때도됩니다.
알려진_hosts 파일에서 다른 키나 이전 키 (IP 변경의 경우)를 반복해서 삭제해야합니다.
키 확인을 끄는 것을 주저하고 있습니다. 그러나 항상 경고를받는 것도 안전하지 않습니다 (그때 항상 그러한 경고를 무시하기 때문에). 더 나은 솔루션이 있습니까?
이것은 여기서 나의 오래된 질문과 관련이 있지만 동일하지는 않습니다.
해결책
나는 이것이 효과가 있다고 생각한다 :
a config
당신의 파일 .ssh
다음과 같이 디렉토리 :
Host server1
Hostname x1.example.com
HostKeyAlias server1
CheckHostIP no
Port 22001
User karl
Host server2
Hostname x2.example.com
HostKeyAlias server2
CheckHostIP no
Port 22002
User karl
아래의 설명 (에서 man ssh_config
)
체크 무늬
이 플래그가 "예"로 설정된 경우 SSH (1)는 알려진_hosts 파일에서 호스트 IP 주소를 추가로 확인합니다. 이를 통해 SSH는 DNS 스푸핑으로 인해 호스트 키가 변경되었는지 여부를 감지 할 수 있습니다. 옵션이 "아니오"로 설정되면 수표가 실행되지 않습니다. 기본값은 "예"입니다.
hostkeyalias
호스트 키 데이터베이스 파일에서 호스트 키를 찾거나 저장할 때 실제 호스트 이름 대신 사용해야하는 별칭을 지정합니다. 이 옵션은 SSH 연결을 터널링하거나 단일 호스트에서 실행되는 여러 서버에 유용합니다.
그만큼 Username
그리고 Port
라인은 명령 줄에 해당 옵션을 제공하지 않아도됩니다.
% ssh server1
% ssh server2