!["연결을 계속하시겠습니까(Y/N)?" 스크립트에서 "예"를 수락하는 방법 [복사]](https://linux55.com/image/137503/%22%EC%97%B0%EA%B2%B0%EC%9D%84%20%EA%B3%84%EC%86%8D%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C(Y%2FN)%3F%22%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%22%EC%98%88%22%EB%A5%BC%20%EC%88%98%EB%9D%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%20%5B%EB%B3%B5%EC%82%AC%5D.png)
나는 열심히 노력했다
echo yes | ssh [email protected]
yes | ssh [email protected]
ssh -y [email protected]
이들 중 아무것도 작동하지 않는 것 같나요?
편집 #1
ssh
내 문제의 일부는 해당 명령 이후의 모든 명령이 실제로 로컬 명령인 경우 원격 명령이라고 생각했다는 것입니다 . 원격 명령은 ssh 명령에 매개변수로 전달되는 문자열로 선언되어야 한다고 생각합니다.
$ ssh [email protected] 'remote command'
답변1
이것은 의도적으로 설계된 것입니다. ssh
호스트 확인 및 인증 상호 작용의도적으로파이프로부터의 입력을 받아들이지 않습니다. 그러나 호스트 키에 확신이 있는 경우 다음을 수행할 수 있습니다.
ssh-keyscan host.example.com >> $HOME/.ssh/known_hosts
ssh host.example.com
답변2
SSH를 통해 호스트에 인증하고 서버에서 맹목적으로 키를 수락하거나 무시해도 괜찮다면 무시하는 것이 가장 좋습니다.
$ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no <user>@<host>
SSH의 보호 기능이 제한된다는 점을 명심하십시오. 그러나 이는 외부 수단을 통해 이러한 도구를 강제로 사용하는 것보다 의도한 대로 이러한 도구를 사용하는 더 적절한 방법입니다.