이와 같은 ssh 인쇄 경고 메시지를 피하는 방법이 있습니까?
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
"@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
원격 호스트 ID가 변경되었지만 잘 알고 있으며이 경고를 제거하고 싶습니다.
답변
네 가지 방법 :
질문에 답하지 않고 새 호스트 키로 시스템에 한 번만 연결하려면 다음 옵션을 사용하십시오.
ssh -q -o "StrictHostKeyChecking no" this.one.host.name
모든 시스템에 대한 경고를 영구적으로 제거하려면 ~/.ssh/config
파일을 편집하여 다음 행을 추가하십시오.
Host *
StrictHostKeyChecking no
이 한 서버에 대한 모든 경고를 영구적으로 제거하려면 ~/.ssh/config
파일을 편집 하고 다음 행을 추가하십시오.
Host this.one.hostname
StrictHostKeyChecking no
이 한 서버에 대한이 변경에 대한 경고를 제거하려면에서 해당 서버의 호스트 키를 제거하십시오 ~/.ssh/known_hosts
. 다음에 연결할 때 새 호스트 키가 추가됩니다.
답변
이것을 ~ / .ssh / config에 추가하십시오.
Host 10.* # use your own pattern here, eg. *.example.com, example.*.com
StrictHostKeyChecking no # turn off the HostKey check
LogLevel ERROR # keep it from printing to STDOUT
UserKnownHostsFile /dev/null # (optional) add the host automatically to a black hole, otherwise it would be added to ~/.ssh/known_hosts and show you a warning/message at the top of your session. You may want it added to known_hosts if your shell uses `ssh` autocompletion, such as fish.
답변
해당 호스트에 대한 라인을 제거 할 수 있습니다 ~/.ssh/known_host
(모든 호스트에 엔트리로 라인이 있음).
대안은 다음을 사용하는 것입니다.
ssh -q -o "StrictHostKeyChecking no" ....
그냥 사용 -q
하면 ssh
조용히 실패 했을 것 입니다.
답변
기본 $ HOME / .ssh / known_hosts에 호스트 키를 추가하지 않는 것이 때때로 바람직합니다.
사용 -o UserKnownHostsFile=/dev/null
에 추가 -q
및 -o StrictHostKeyChecking=no
정리에서 known_hosts을 유지. 예를 들면 다음과 같습니다.
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -q user@scripts.local
답변
다른 제안은 호스트 키가 변경되는 이유를 식별하고이를 중지하도록하는 것입니다.
예를 들어, 컨테이너 또는 프로비저닝 시스템을 통해 호스트를 구축하는 경우 인스턴스마다 동일한 알려진 호스트 키를 일관되게 사용해야합니다.
이것이 항상 가능한 것은 아니라는 것을 잘 알고 있으며 호스트는 제어 범위 밖에서 관리 될 수 있지만 이러한 호스트 키 경고는 이유가 있으며 중요합니다. 예외 카운트를 줄이는 것은 좋은 일입니다.
그렇지 않으면, 해당 특정 호스트에 대해서만 귀하의 StrictHostKeyChecking No 에 투표 ~/.ssh/config
합니다.