키 + 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.