1

В сценарии оболочки это ssh для кластера серверов, который включает в себя десятки серверов. Но некоторые новые серверы не выполняют команды должным образом. Я считаю, что это ssh, да или нет проблем. Поэтому я бы хотел, чтобы ssh автоматически использовал 'yes' для ssh нового сервера. как yum -y install .

sshpass -p "$pass" ssh root@host "command"
sshpass -p "$pass" scp /local/file root@host:$directory/

1 ответ1

2

Это может быть связано с тем, что для параметра StrictHostKeyChecking задано значение ask . Это не может быть установлено явно, ask является значением по умолчанию.

От man 5 ssh_config:

StrictHostKeyChecking
Если для этого флага установлено значение yes , ssh(1) никогда не будет автоматически добавлять ключи хоста в файл ~/.ssh/known_hosts и отказывается подключаться к хостам, чей ключ хоста был изменен. Это обеспечивает максимальную защиту от атак троянских коней, хотя это может раздражать, если файл /etc/ssh/ssh_known_hosts плохо поддерживается или когда часто устанавливаются соединения с новыми хостами. Эта опция заставляет пользователя вручную добавлять все новые хосты. Если для этого флага установлено значение no , ssh автоматически добавит новые ключи хоста в файлы известных хостов пользователя. Если этот флаг установлен на ask , новые ключи хоста будут добавлены в известные хост-файлы пользователя только после того, как пользователь подтвердит, что это именно то, что он действительно хочет сделать, и ssh откажется подключаться к хостам, чей ключ хоста изменился. Ключи известных хостов будут автоматически проверяться во всех случаях. Аргумент должен быть yes , no или ask . По умолчанию это ask .

Похоже, вы хотели бы установить параметр no . В /etc/ssh/ssh_config строка будет выглядеть так:

StrictHostKeyChecking no

Или вы можете переопределить параметр во время вызова ssh или scp , передав -o StrictHostKeyChecking=no в инструмент, например:

ssh -o StrictHostKeyChecking=no root@host "command"
scp -o StrictHostKeyChecking=no /local/file root@host:"$directory"/

Обратите внимание, что есть также опция VerifyHostKeyDNS со значением по умолчанию ask . Обратитесь к руководству. Если вам нужно изменить его, решение аналогично.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .