
내 서버에 SSH로 연결되는 bash 스크립트를 실행하는 Chron 작업이 있습니다. 하지만 내 서버의 IP 주소는 수시로 변경됩니다(내 bash 스크립트에는 새 IP 주소를 찾는 방법이 있습니다). 하지만 문제는 내 bash 스크립트에 "호스트의 신뢰성을 설정할 수 없습니다 ..."라는 경고가 표시된다는 것입니다. StrictHostKeyChecking=no
때문에 사용하고 싶지 않습니다중간에있는 남성공격. 하지만:
만약RSA 키예를 들어 다음과 동일합니다.RSA 키이미 파일에 known_host
있거나RSA 키다른 파일에 저장한 경우 MyServersPublicKey
해당 서버가 내 서버이고 새 IP가 있다고 가정합니다.
경고 자체는 다음을 표시합니다.지문~의RSA 키호스트가 아닌 "알 수 없는" 호스트에서RSA 키그 자체. 절약할 수 있을 것 같아요RSA 키 지문내 호스트의 bash 스크립트가지문경고에서 저장한 것과 비교합니다.지문. 하지만 더 쉬운 방법을 아는 사람이 있는지 궁금합니다.
이를 위해 자체 bash 스크립트를 작성해야 합니까, 아니면 사용 가능한 것이 있습니까?
답변1
설명에서 언급했듯이 인증서(서명된 호스트 키)를 생성하면 이 문제를 해결하는 데 도움이 됩니다( ssh-keygen
이 절차를 설명하는 매뉴얼 페이지의 "인증서" 장 참조). 기본적으로 서버에 CA를 생성하고 호스트 키에 서명하고 CA 공개 키를 다음 known_hosts
과 같이 저장합니다.
@cert-authority * ssh-rsa AAAAB5W...
다른 가능성은 호스트 키 앞에 IP를 추가하는 bash 스크립트를 작성하는 것입니다 known_hosts
(해시된 파일이 없는 경우). 다음과 같이 작동해야 합니다.
sed -i -e "s/your_host/new_ip,your_host/" ~/.ssh/known_hosts