当我尝试SSH进入我的群集时,有两个阶段。所以我必须输入两次密码才能在Linux终端或PuTTY中使用SSH进入我的主目录。
但是当我尝试使用WinSCP时,我收到了这些错误:
尝试SFTP:
无法初始化SFTP协议。主机是否正在运行SFTP服务器?
尝试SCP:
跳过启动消息时出错。您的shell可能与应用程序不兼容(建议使用BASH)。
如何绕过此问题?
答案 0 :(得分:3)
答案 1 :(得分:1)
我相信它会解决您的问题
大多数情况下是由于密码过期。
因此,您需要右键单击该 WinSCP 用户,您将找到选项 Open in PUTTY
,PFA。
PuTTY 打开后,Enter Your Current Password
会要求重置 New Password
。
您将成功获得访问权限,这对我有用:)
..
答案 2 :(得分:0)
有关一般信息,请阅读有关错误消息Cannot initialize SFTP protocol. Is the host running a SFTP server?
的文档虽然对于您的特定情况,问题可能是由于服务器无法与WinSCP交换以交换第二个密码。第二个密码是什么? sudo
?或SSH隧道到第二个“阶段”(无论是什么)?
对于sudo
/ su
,请参阅WinSCP常见问题How do I change user after login (e.g. su root)?
有关隧道,请参阅tunneling文档。
我知道这是一个模糊的答案,但你的问题也是如此。如果您描述,这两个密码的用途是什么,如果您共享会话日志文件,您可能会得到更好的答案。
答案 3 :(得分:0)
您通过两种密码调用的内容称为键盘交互式
你可以通过
轻松禁用它答案 4 :(得分:0)
实际上,在某些情况下,此错误可能会产生误导。假设SSH有效(对你来说就是这种情况),可能只是因为你的bash正在输出一些破坏SCP的文本。
SSH进入系统后,是否打印了一些文字? (示例一些欢迎文本)。如果是这种情况,您可以在~/.bashrc
(或首先加载的任何脚本,如某些系统上的~/.bash_profile
)中进行测试,并检查shell是否具有交互性。如果不是交互式,请不要打印任何内容。您可以使用它来跳过任何打印(将其放在.bashrc
的开头):
#Detect if in SCP
if [ -z "$PS1" ]; then
return
fi
答案 5 :(得分:0)
这些是我们在 WINSCP 上遇到的不同类型的错误-
尝试下面提到的方法来解决上述错误:
由于错误本身表明 SFTP 协议存在问题,因此请先尝试更改文件协议。 解释如下:
点击编辑 -> 从文件协议的下拉菜单中选择 SCP -> 点击保存然后登录
如果问题仍未解决,那么最后您可以选择使用 PuTTY 重置密码。
PFB 步骤 -
右键单击 WINSCP 的当前站点/服务器/用户 -> 选择“在 PuTTY 中打开”选项 要么 选择WINSCP的当前站点/服务器/用户->按Ctrl+P
PuTTY 打开后,输入您的密码,然后它会要求您输入新密码。
注意:您将看不到密码,因此请仔细输入。
然后您可以使用新密码登录。它肯定会起作用。
答案 6 :(得分:-1)
我遇到了同样的问题,但是我只是将文件协议从SFTP切换为常规FTP,并且可以正常工作。