Каждый день новый ключ хоста с использованием MSFTP и WinSCP

StackOverflow https://stackoverflow.com/questions/1475094

  •  16-09-2019
  •  | 
  •  

Вопрос

Я переношу файл с одного сервера на другой, используя "Core FTP mini-sftp-server" на стороне источника и WinSCP на стороне назначения (оба сервера работают под управлением Windows).

Я вхожу в эти две машины, используя учетную запись локального администратора, которые одинаковы на обоих серверах.Я выполнял этот процесс вручную:

  • Запустите MSFTP-сервер в исходном коде
  • Запустите WinSCP в пункте назначения, подключитесь к источнику и получите файл.

Теперь я хочу автоматизировать это, и я попробовал следующее

Начать msftp из командной строки в исходном коде.

По месту назначения в winscp.exe консоль:

open login:password@IPAdress
get <file> <destination>
close
exit

Проблема в том, что если я делаю это в первый раз каждый день, он просит меня обновить ключ на стороне назначения, говоря:

"ПРЕДУПРЕЖДЕНИЕ О ПОТЕНЦИАЛЬНОМ НАРУШЕНИИ БЕЗОПАСНОСТИ!Ключ хоста сервера не соответствует тому, который есть в кэше WinSCP.Это означает, что либо сервер администратор зарядил ключ хоста, сервер при определенных обстоятельствах выдает другой ключ, либо вы действительно подключились к другому компьютеру, притворяющемуся сервером"

Я должен сделать это вручную (нажмите на Обновить) сначала, а затем для следующих копий автоматизация работает.

Вопрос:

Как я могу обновить ключ с помощью командной строки при подключении к серверу?

Могу ли я запретить источнику генерировать новый ключ ежедневно?Или я должен это сделать?

Это было полезно?

Решение

Вы должны запретить исходному серверу генерировать новый ключ - для этого нет абсолютно никаких причин.Открытый ключ сервера идентифицирует сервер, и поэтому этот идентификатор не должен быть изменен.

Другие советы

Вы теряете какую-либо безопасность, подключаясь к SSH-серверу, который каждый день меняет открытый ключ.

В любом случае, если это ваш единственный вариант, недавний WinSCP позволяет автоматически принимать любой ключ хоста с помощью -hostkey=* переключатель из open команда:

open -hostkey=*

Делая это, вы теряете всякую безопасность, но вы уже есть, так что это не имеет никакого значения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top