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