Первый раз 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-id
не поддерживаете параметр StrictHostKeyChecking, вы можете написать скрипт, который:ssh-keyscan
на целевом сервере, чтобы получить открытый ключssh-copy-id
источник
SSH имеет возможность автоматически добавлять любые ключи хоста в файл доверенных хостов:
В качестве альтернативы вы можете сделать следующее:
Изменить : поскольку кажется, что эти решения не работают
ssh-copy-id
, вы всегда можете создать~/.ssh/config
файл со следующей опцией:Это должно работать со всеми SSH-соединениями, независимо от того, вызываются они через скрипт или нет.
источник
ssh-copy-id
не имеет-o
ssh-copy-id -?
ssh-copy-id
- это скрипт. Вы можете изменить его, чтобы добавить-o StrictHostKeyChecking=no
или отключить этот параметр в файле ssh_config.ssh-copy-id servername
работает отлично.sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id)
,Попробуй это:
он не добавляет ключи хоста в файл known_hosts, но позволяет вам скопировать (или добавить) открытый ключ к тому,
authorized_keys
что вы хотите, если это является единственной целью здесь.источник