SFTP服务器为所有连接提供types2(协议错误)

我有一个使用CoreFTPServer的Windows服务器,任何连接到它的任何SFTP站点都给出types2(协议错误)。 这似乎是从任何用户或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生成密钥,则将纯密钥string复制到文本文件中,而不是使用“Save public key”button。

你在用什么客户进行testing? 无论如何,我会尝试用PSFTP和WinSCP重新检查问题。

如果错误仍然存​​在,您可能需要增加日志logging – 有很多不同的密钥检查可能会出错。

常见错误可能包括主机密钥已更改。 我记得CFTPS每天这样做,所以你可能想检查你的%TEMP%目录cftpskey.pem ,看看它是不是从你的客户保存。 (记住SSH不喜欢改变主机密钥)。

如果我是正确的,则应通过将cftpskey.pem设置为cftpskey.pem来防止发生此问题。 由于键看起来已经不同步,我build议在客户端重置主机caching。

对于腻子/ psftp你会发现他们在系统registry下

 HKCU\Software\SimonTatham\Putty\SshHostKeys 

我从CoreFTP服务器的客户端遇到了这个问题,并且能够通过告诉OpenSSH客户端不要通过以下方式尝试任何密钥authentication来进行连接:

 sftp -oPubkeyAuthentication=no user@url 

你可能应该为这个问题添加一些细节:
那些由连接客户端或服务器日志文件报告的错误消息?
服务器以前是否正常工作,或者这是一个新的安装失败?
你用什么SFTP客户端来访问服务器?
您是否尝试使用基于密钥的身份validation,密码交互或其他forms的身份validation?

错误“密钥检查失败”可能意味着客户端试图连接一个无效的密钥,或者服务器被设置为仅基于密钥的访问,并且客户端正在尝试使用另一种方法进行身份validation(例如“密码交互” )。

我从来没有使用过CoreFTPServer(我在Linux和Windows上使用OpenSSH(在Windows的情况下通过cygwin,尽pipe也有其他的端口可用))但是如果基于密钥的身份validation以前一直在工作,并突然停止检查文件和目录的所有权以及服务器上的密钥文件的权限 – 人们在OpenSSH中看到的一个共同的问题是,它将拒绝使用以不安全的方式存储的密钥(即在世界可写目录中)。

如果客户在有任何尝试进行authentication之前显然报告了这个错误,那么它可能是对服务器的指纹不能被识别的反应(即,它是一个新的安装或已经以改变服务器身份的一些重要方式进行了改变)。 虽然如果这是问题而不是“关键”,我希望使用“指纹”这个工作,但是有些人会把这个词混淆在一起,所以软件可能会在错误信息中使用错误的术语。