키 + IP가 일치하는 경우 대신 키를 기반으로 SSH 서버 신뢰


8

ssh 클라이언트가 ssh 서버 뒤에있는 IP를 신경 쓰지 않고 (다른 서버가 해당 IP 뒤에있는 경우) 대신 특정 서버 키를 신뢰하도록 할 수 있습니까? 동적 키를 사용하고 일부 컴퓨터에서 IPv6 개인 정보 확장을 사용하도록 설정했으며 연결해도 안전한지 항상 묻는 메시지가 표시됩니다. 또 다른 가능성은 DHCP가 할당 한 주소가 다른 ssh 서버에 할당되어 모든 종류의 '키가 IP와 일치하지 않습니다'오류를 발생시키는 것입니다.


SSL을 통해 제공되는 웹 페이지에 내 ssh 서버 각각에 대한 공개 키 목록이 있다고 언급 했으므로 실제로 특정 서버 키 세트를 실제로 신뢰하는지 쉽게 확인할 수 있습니다.
— Azendale

답변:


7

에 서버의 닉네임을 추가 하고이 서버를 ~/.ssh/config끕니다 CheckHostIP.

Host nickname
HostName example.dyndns.org
CheckHostIP no

서버에 처음 연결하기 전에 공개 키를 대역 외로 복사 할 수 있습니다 /etc/ssh/ssh_host_rsa_key.pub. 서버에서 가져 와서 root@hostname줄 끝 부분을 제거 example.dyndns.org하고 시작 부분에 추가 한 다음 줄을 추가하십시오 ~/.ssh/known_hosts. 선택적으로 ssh-keygen -H호스트 이름을 해시하기 위해 실행 합니다 (누군가 하드 디스크 나 백업을 훔친 경우 해당 항목의 개인 정보 보호에 대해 우려하는 경우에만 유용합니다.이 정보는 근처에 다른 사람이 있기 때문에 99.99 %의 사람들이 쓸모가 없습니다. 어쨌든 위치).


으로 Host nickname, 평균 난 그냥 할 수 않습니다 ssh nickname그래서 그것을 얻을? 그렇다면 꽤 깔끔합니다.
— Azendale 2016 년

@Azendale : 정확히, 이것은 호스트 이름과 옵션 세트 (사용자 이름, 부울 옵션, 터널 등)에 닉네임을주는 일반적인 기능입니다.
— Gilles 'SO- 악마 그만해'

2

에 /etc/ssh/ssh_config줄을 추가

CheckHostIP no

그러나 모든 컴퓨터는 연결 한 IP 또는 DynDNS 이름 뒤에 숨길 수 있기 때문에 SSH 에서 보안 이 약간 제거 됩니다.


1
이것은 보안을 전혀 빼앗아 가지 않습니다. 호스트 키를 저장하는 요점은 다른 컴퓨터를 식별하는 것입니다. 호스트 키가있는 경우 이름과 IP 주소는 보안과 관련이 없습니다. 스퓨리어스 메시지를 제거하면 실제로 보안이 향상됩니다.
— Gilles 'SO- 악마 그만'

1
@Gilles : 맨 페이지가 동의하지 않습니다. 예. 잘 알려진 IP- 호스트 관계가없는 연결에 대한 보안은 손실되지 않습니다. 다른 경우에는 맨 페이지에 설명 된대로 DNS 스푸핑 공격에 대한 보호를 포기합니다.
— htorque

나는 당신이 언급하는 맨 페이지의 어떤 구절을 모른다. 에 대한 설명 인 CheckHostIP경우 아니요, 보호를 포기한다고 말하지 않습니다. 을 사용 CheckHostIP no하면 spoofer는 여전히 서버의 개인 키를 가져와야하며 그렇게 할 수 있으면 IP 주소를 스푸핑 할 수 없습니다.
— Gilles 'SO- 악한 중지'

키를 신뢰할 경우 DNS 스푸핑이 어떻게 위험한지 예를 들어 주시겠습니까? 공개 키 인증을 사용하여 로그인하면 악의적 인 서버가 암호를 얻지 못하지만 암호를 사용하면 어떻게됩니까?
— Azendale

공개 키 인증을 사용한다고해서 암호가 실제로 보호되는 것은 아니므로 서버가 MITM을 사용하여 사용자 sudo또는 이와 유사한 경우 암호를 얻을 수 있습니다 .
— remram
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.