VIP를 사용한 SSH 호스트 키 확인 문제


8

VIP에는 두 개의 프로덕션 서버가 있으며 한 번에 하나의 서버 만 사용됩니다.

myservice.mycompany.uk는 일반적으로 server1을 가리키며, server1이 실패하면 server2를 가리 키도록 변경됩니다.

SFTP를 통해 myservice.mycompany.uk에 파일을 보내야하는 다른 서버가 있으며 server2로 장애 조치하는 경우 서버에 완전히 투명해야합니다.

문제는 키가 server1과 server2 모두에 설치되는 동안 server2의 호스트 키가 server1의 호스트 키와 다르기 때문에 다른 서버에서 호스트 키 확인 문제가 발생한다는 것입니다. 이로 인해 보안 오류가 발생하고 (엄격한 검사가 설정되어 있으므로) known_hosts에서 행을 제거해야 작동합니다.

IT 전문가는 known_hosts에 2 개의 항목을 생성 할 수 있다고 제안했습니다. 하나는 server1에 대한 키와 하나는 server2에 대한 하나는 myservice.mycompany.uk 호스트입니다.

그게 효과가 있을까요? Windows에서 putty / psftp를 사용하여 어떻게 할 수 있습니까? 호스트 키는 레지스트리에 저장되므로 중복 된 이름은 허용되지 않습니다. 예를 들어 서버가 동일한 호스트 키를 갖도록하는 더 좋은 방법이 있습니까?

답변:


15

클라이언트가 쉽게 사용할 수 있도록 두 컴퓨터에서 동일한 호스트 키를 사용합니다. 키 중 하나 (현재 사용중인 서버 중 하나)를 두 번째 컴퓨터로 복사하십시오. 열쇠는 안에 /etc/ssh/ssh_host_*있습니다.

다른 옵션은 클라이언트에서 호스트 키 검사를 비활성화하는 것입니다. 다음 ssh_config을 사용하도록 조정하여 수행 할 수 있습니다 .

Host myservice.mycompany.uk
    StrictHostKeyChecking

호스트 키 검사 기능을 끄면 SSH를 사용하여 이러한 파일을 전송하는 시점이 저하되므로 호스트 키를 복제하는 것이 가장 좋은 솔루션 일 것입니다.
James Yale

1
호스트 키 검사를 해제한다고해서 통신이 제대로 암호화되지 않았다는 것은 아닙니다. 이것이 SSH의 주요 지점입니다. 내가 말했듯이, 나는 첫 번째 해결책을 선호한다.
ℝaphink

솔루션의 클라이언트 버전 (서로 다른 서버 키 포함) UserKnownHostsFile=/dev/null에서 첫 번째 키는 알려진 호스트로 이동하고 두 번째 키는 "중간자"경고로 이어집니다.
Nils

@ 필요하지 않습니다. 설정 StrictHostKeyChecking yes하면 UserKnownHosts 파일이 시스템 알려진 hosts 파일을 위해 무시됩니다. 따라서 UserKnownHosts를 수정하는 것은 무의미합니다.
Michael Lowman

Ok-나는 이것을 더 명확히해야합니다 : 나는 두 개의 다른 서버 키가있는 경우에 대해 이야기합니다. 거기 에서 / dev / null 을 지정 StrictHostKeyChecking no하고 추가로 설정해야 UserKnownHostsFile합니다. 이 경우 모든 호스트 키가 수락됩니다 (물론이 보안 수준을 렌더링하지 않음).
Nils

0

나는 이것을 이런 식으로 보관했다. 사용자 루트는 오후 23:00에 리눅스 클러스터의 논리적 IP 주소에 연결하는 하나의 스크립트를 실행하므로 IP 주소 장애 조치의 경우 내 ssh 지문 변경

echo "StrictHostKeyChecking no" >> /root/.ssh/config 
echo "UserKnownHostsFile /dev/null" >> /root/.ssh/config

이런 식으로 설정은 루트 전용입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.