
웹 애플리케이션을 배포할 수 있는 새 서버를 프로비저닝하기 위해 bash 스크립트를 만들고 있습니다. 내가 항상 해야 할 한 가지는 . Bash 스크립트에서 이 프로세스를 어떻게 자동화하고 멱등적인 방식으로 수행할 수 있습니까?ssh [email protected]
답변1
간단한 방법은 다음과 같은 작업을 수행하는 것입니다.
ssh-keyscan remote_server >>~/.ssh/known_hosts
~/.ssh
이 상자가 새로운 상자인 경우 실행하기 전에 디렉터리를 만들어야 할 수도 있습니다.SSH 키 스캔.
ssh-keyscan은 임의 개수의 호스트 이름을 사용할 수 있다는 점을 명심하세요. 가능한 모든 키를 얻을 것입니다.
답변2
새 키 수락을 자동화하려고 하시나요? 그렇다면 -oStrictHostKeyChecking=no를 사용할 수 있습니다.
이제 중간자 공격에 완전히 노출되어 있으므로 그렇게 하는 것은 매우 나쁜 생각입니다.
더 나은 옵션은 Known_hosts 파일을 관리하고 새 서버를 프로비저닝할 때 해당 파일을 재사용하는 것입니다. github에 붙이고 github에 SSH로 연결하기 전에 해당 파일을 다운로드하는 간단한 스크립트를 작성하세요.
엄격한 호스트 키 확인은 좋은 것입니다.
답변3
질문을 이해했는지 잘 모르겠지만, 다음과 같은 경우에는 Known_host 프롬프트를 무시하거나 완전히 피하고 싶다고 생각합니다.
ssh -o StrictHostKeyChecking=아니요
또는 기타 제안 사항:http://www.joedog.org/2012/07/ssh-disable-known_hosts-prompt/