У меня есть сервер Windows, использующий CoreFTPServer, и любые подключения к любому сайту SFTP на нем дают тип 2 (ошибка протокола). Это похоже на любое соединение с сервером от любого пользователя или IP.
Error: Server sent disconnect message
Error: type 2 (protocol error)
Error: "key check failed"
Error: Could not connect to server
Кто-нибудь знает, почему блокируются соединения?
Спасибо,
Эллиотт
Мы столкнулись с той же проблемой, и мы могли решить ее, удалив все символы перевода строки и комментарии из файла открытого ключа на CoreFTP-сервере.
Если вы генерируете ключ с помощью PuTTY Key Generator, скопируйте чистую строку ключа в текстовый файл вместо использования кнопки «Сохранить открытый ключ».
Какой клиент вы используете для тестирования? В любом случае, я бы попробовал дважды проверить проблему с помощью PSFTP и WinSCP.
Если ошибка повторится, вы можете захотеть увеличить ведение журнала - существует множество различных проверок ключей, которые могли пойти не так.
Распространенная ошибка может заключаться в изменении ключа Hosts. Я помню, как CFTPS делал это ежедневно, так что вы можете проверить свой %TEMP%
Справочник для cftpskey.pem
и посмотрите, отличается ли он от того, что сохранили ваши клиенты. (Помните, что SSH не любит менять ключи хоста).
Если я прав, вы должны предотвратить возникновение этой проблемы, установив cftpskey.pem
только для чтения. Поскольку ключи кажутся уже не синхронизированными, я рекомендую сбросить кэш хоста на стороне клиента.
Для putty / psftp вы найдете их в системном реестре в разделе
HKCU\Software\SimonTatham\Putty\SshHostKeys
Я столкнулся с этим на клиентской стороне сервера CoreFTP и смог подключиться, сказав клиенту OpenSSH не пробовать аутентификацию по ключу через:
sftp -oPubkeyAuthentication=no user@url
Вам, вероятно, следует добавить к этому вопросу немного больше деталей:
Сообщаются ли эти сообщения об ошибках подключающимся клиентом или в файле журнала сервера?
Сервер раньше работал правильно или это новая установка, которая дает сбой?
Какие SFTP-клиенты вы используете для доступа к серверу?
Вы пытаетесь использовать аутентификацию на основе ключей, интерактивную аутентификацию по паролю или какую-либо другую форму аутентификации?
Ошибка «ошибка проверки ключа» может означать, что либо клиент пытается подключиться с недопустимым ключом, либо сервер настроен только на доступ на основе ключа, а клиент пытается аутентифицироваться с помощью другого метода (например, «интерактивный пароль» ).
Я никогда не использовал CoreFTPServer (я использовал OpenSSH как в Linux, так и в Windows (через cygwin в случае Windows, хотя есть и другие порты)), но если проверка подлинности на основе ключа ранее работала и внезапно перестала проверять право собственности на файл и каталог и разрешения для файлов ключей на сервере - обычная проблема, с которой люди сталкиваются с OpenSSH, заключается в том, что он отказывается использовать ключи, которые хранятся небезопасным образом (то есть в общем каталоге с возможностью записи).
Если клиент сообщает об этой ошибке, по-видимому, до того, как была предпринята какая-либо попытка аутентификации, то он может реагировать на то, что отпечаток пальца сервера не распознается (то есть это новая установка или была изменена каким-либо существенным образом, что изменило личность сервера). Хотя я ожидал, что если бы проблема была в этом, а не «ключом», использовался бы рабочий «отпечаток пальца», некоторые люди путают термины, поэтому программное обеспечение может использовать неправильный термин в сообщении об ошибке.