Ответьте «да» на ssh-copy-id при первом запуске скриптом?


8

Первый раз 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)? 

Можно ли написать это, так что сценарий просто ответит да?


Ответы:


6

Если вы ssh-copy-idне поддерживаете параметр StrictHostKeyChecking, вы можете написать скрипт, который:

  1. Запустите ssh-keyscanна целевом сервере, чтобы получить открытый ключ
  2. Добавьте это в файл known_hosts
  3. Запустить ssh-copy-id

8

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-соединениями, независимо от того, вызываются они через скрипт или нет.


1
К сожалению, не работает, и ssh-copy-idне имеет-o
Сандра

Странно, он сообщает, что переключение при выдачеssh-copy-id -?
brain99

1
@sandra ssh-copy-id- это скрипт. Вы можете изменить его, чтобы добавить -o StrictHostKeyChecking=noили отключить этот параметр в файле ssh_config.
2012 г.

Кроме того, вам не нужно указывать расположение ключа ... ssh-copy-id servernameработает отлично.
2012 г.

sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id),
кванта

0

Попробуй это:

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

он не добавляет ключи хоста в файл known_hosts, но позволяет вам скопировать (или добавить) открытый ключ к тому, authorized_keysчто вы хотите, если это является единственной целью здесь.


нет никакого выбора
ImranRazaKhan
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.