스크립트에 의해 ssh-copy-id가 처음 실행될 때“예”라고 대답 하시겠습니까? 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21. Are you sure you want to continue

처음 ssh-copy-id요청할 때

# ssh-copy-id -i .ssh/id_dsa.pub backup@example.com
The authenticity of host 'example.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21.
Are you sure you want to continue connecting (yes/no)? 

이것을 스크립트 할 수 있습니까? 그래서 스크립트는 예라고 대답 할 것입니까?



답변

ssh-copy-idStrictHostKeyChecking 옵션을 지원하지 않는 경우 다음을 수행하는 스크립트를 작성할 수 있습니다.

  1. ssh-keyscan공개 키를 얻기 위해 대상 서버에 대해 실행
  2. known_hosts 파일에 추가
  3. 운영 ssh-copy-id

답변

SSH에는 호스트 키를 신뢰할 수있는 호스트 파일에 자동으로 추가하는 옵션이 있습니다.

ssh-copy-id -i .ssh/id_dsa.pub -o StrictHostKeyChecking=no backup@example.com

대안으로 다음을 수행 할 수 있습니다.

echo "yes \n" | ssh-copy-id -i .ssh/id_dsa.pub backup@example.com

편집 :이 솔루션이 작동하지 않는 것처럼 보이기 때문에 다음 옵션을 ssh-copy-id사용하여 ~/.ssh/config파일을 만들 수 있습니다

StrictHostKeyChecking no

스크립트를 통해 호출되는지 여부에 관계없이 모든 SSH 연결에서 작동합니다.


답변

이 시도:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@example.com -y

호스트 키를 known_hosts 파일에 추가하지 않지만 authorized_keys여기에서 유일한 목적인 경우 원하는 공개 키를 복사 (또는 추가) 할 수 있습니다.