Это может быть связано с тем, что для параметра 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
. Обратитесь к руководству. Если вам нужно изменить его, решение аналогично.