로컬 주소에 대한 SSH 인증 테스트 방지

로컬 주소에 대한 SSH 인증 테스트 방지

동일한 LAN에 있는 여러 서버가 sshDHCP를 사용하는 경우 해당 서버의 IP 주소가 변경될 수 있습니다. 새 주소(예: 이전에 해당 LAN에 있었던 적이 없는 주소)가 있을 때마다 다음 메시지가 나타납니다.

The authenticity of host '192.168.1.x (192.168.1.x)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

라고 말하면 yes그 지문은영구적인이 주소와 연결되어 있습니다. 그러나 다른 ssh서버가 192.168.1.x인 경우에는 다른 지문을 갖게 되며 강력한 경고가 나타납니다.

서버와 클라이언트 모두 최신 업데이트가 포함된 Ubuntu 14.04를 실행하고 있습니다. 서버에 물리적으로 접근할 수 있고 주소가 변경되더라도 서버의 신뢰성을 알기 때문에 서버를 신뢰합니다.

1) 동일한 서버가 주기적으로 키 지문을 변경하는 것이 가능합니까?

2) 지문검사를 억제하는 방법이 있나요?오직로컬 주소의 경우 범위는 192.168.1.1-254?

답변1

~/.ssh/config:

host 192.168.1.*
    CheckHostIP no
    StrictHostKeyChecking no

답변2

1) 동일한 서버가 주기적으로 키 지문을 변경하는 것이 가능합니까?

예, 이론적으로는 서버 관리자가 언제든지 서버 키를 변경할 수 있습니다. 그러나 이는 이미 구축된 신뢰를 훼손할 수 있으며 실무상 정당한 사유 없이 이루어져서는 안 됩니다.

서버를 재구축하는 경우(ssh 서버 키를 유지하지 않는 새 하드웨어 또는 궤도에서 핵무기 시나리오를 사용하는 경우) 이런 일이 발생할 수 있습니다. 이는 동일한 호스트 이름을 사용하는 서로 다른 키를 가진 여러 서버가 있는 경우에도 발생할 수 있습니다(예: 로드 밸런서 뒤에 있음).

또한 SSH 서버에는 여러 가지 유형의 호스트 키(rsa, dsa, ecdsa, ed25519...)가 있는 경우가 많으므로 협상된 키 교환에 따라 한 클라이언트를 다른 클라이언트와 비교할 때 의 키 지문이 다를 수 있습니다. 그러나 클라이언트나 서버 구성이 모두 변경되지 않으면 지정된 클라이언트는 항상 서버에서 동일한 키를 얻어야 합니다.

2) 로컬 주소(192.168.1.1-254 범위)에 대해서만 지문 검사를 억제하는 방법이 있습니까?

예. ~에서ssh_config 매뉴얼 페이지, 옵션 CheckHostIPStrictHostKeyChecking이 동작에 영향을 미칩니다. "192.168.1"로 시작하고 뒤에 1~3개의 문자가 오는 모든 호스트 이름에 대해 이러한 검사를 억제하려면 다음을 사용하십시오.

Host 192.168.1.?,192.168.1.??,192.168.1.???
    CheckHostIP no
    StrictHostKeyChecking no

참고하시기 바랍니다,무늬절에서는 Host전체 정규 표현식이나 쉘 글로브가 지원되지 않지만문자열 일치단일 문자 ?와 탐욕스러운 *와일드카드만 포함합니다. 따라서 누군가 성공적으로 등록하면 1.com패턴이 원격 서버와도 일치하게 됩니다 192.168.1.com.

탐욕스러운 glob을 사용하면 구성 절이 더 단순해지지 Host 192.168.1.*만 더 넓은 범위의 혼합 영숫자 이름을 일치시킬 수도 있습니다 192.168.1.evil.qwerty.org.가능성실수로 (호스트 키 확인 없이) 해당 서버에 연결할 가능성은 매우 낮습니다. 그러나 이는 단지 문자열 glob일 뿐이며 서브넷 주소로 반드시 확인되는 것은 아니라는 점은 주목할 가치가 있습니다. 일종의 서브넷 주소와 같습니다.

관련 정보