我的公司使用商业(TIBCO MFT)软件系统来处理文件传输,最近我遇到了一个无法连接到特定客户端SFTP服务器的实例。从同一本地服务器上的Linux终端开始,我可以整天连接,但在尝试使用该软件时,我无法进行身份验证。我正在使用一个简单的用户/密码设置来连接它们。 我最终通过(在软件控制面板中)选择"在SSH选项中使用默认键"(顺便说一下是我们的键),其中选择先前是" none" 。 在我看来,我们应该被要求使用一些类的密钥,但我注意到我们有很多SFTP推送文件传输使用服务器配置,SSH密钥标记为"无&#34 ;. 我环顾四周,没有找到满意的答案。我有疑虑:
我真的很感激对此的任何见解。
答案 0 :(得分:0)
可以设置SSH以接受密钥和用户名/密码。目标系统可以轻松支持两者。
你没有" known_hosts"文件以验证(使用密钥)您连接的主机。您只需验证主机您将连接到。然而,通过防火墙或SSH配置使用IP限制来限制对主机的访问是很常见的。
但是您仍然可以使用密钥访问主机上的帐户。
如果目标系统是某种Unix,您很可能会有一个帐户名来访问它。该用户帐户很可能在服务器上有一个主目录。在帐户主目录中,您将拥有一个名为" .ssh"的文件夹。在该文件夹中,您有一个名为" authorized_keys"的文件。您可以在此文件列表中列出用于访问此帐户的任意数量的公钥。如果您拥有适当的私钥/公钥对,那么您将可以访问此帐户。
所以回答你的具体问题: - 否。此类限制将基于IP。 - 否。服务器密钥仅用于验证您连接的服务器。
第一次密钥交换将验证您连接的主机。这是您第一次连接主机时被问到的问题。当你接受这个时,你有一个加密的会话。如果允许,您将在此之后输入用户名/密码。如果主机设置为使用基于密钥的身份验证,则必须提供密钥。
SSH客户端和SSH服务器都应该为日志提供许多提示。
许多Unix服务器使用OpenSSH,您可以在以下位置查看配置文件: / etc / ssh / sshd_config
如果您尝试连接到需要基于密钥的身份验证且不接受用户名/密码的SSH服务器,那么您通常会收到错误:"没有支持的身份验证方法(服务器发送:公钥)&# 34。
当使用商业解决方案时,我会怀疑他们的ssh堆栈可能已经过时且过时,而不是使用现代密码套件。您可以通过搜索" Ciphers"来查看Linux服务器上使用的密码。在" / etc / ssh / sshd_config"
为了进一步排除故障,我建议您直接使用源系统中的putty进行连接。如果TIBCO MFT使用过时的堆栈并需要更新,这很容易发生。
你可以把Putty放到:http://www.chiark.greenend.org.uk/~sgtatham/putty/
为了进一步帮助您,我们需要连接日志和配置文件。你应该有一个连接错误,告诉我们到底出了什么问题。