使用公钥 SSH 可以工作,但 SFTP 会出错

使用公钥 SSH 可以工作,但 SFTP 会出错

在服务器上,我安装了 openSUSE,配置了 SSH,因此只允许一个用户使用,只允许使用公钥(无 pam,无密码),来自特定的 IP。

SSH 工作,X11 转发工作,SFTP 工作。

现在,我需要第二个系统,与外部世界几乎完全相同。我安装了 Xubuntu,设置了 SSH、防火墙,从 openSUSE 复制了完全相同的 SSH 配置和密钥,然后……

SSH 工作,X11 转发工作,SFTP才不是工作。

我使用 FileZilla 进行连接,它给出错误“sftp 从 sftp 服务器收到意外的文件结束”。我在 Google 上搜索了一下,发现建议检查服务器上的“/var/log/auth.log”,所以我照做了,一切顺利,当我尝试使用 SFTP 进行连接时,我只看到一条消息“sshd[11835]:已接受... 的公钥”。

什么原因造成这种差异以及如何解决?

答案1

终于找到了。我尝试了其他客户端,希望其中一个能带来新的亮点,结果“sftp -v”确实带来了新亮点。我复制的 sshd 配置使用的是外部 sftp 服务器(openSUSE 中有,但 Xubuntu 中没有)。我将其更改为内部服务器,现在我也可以使用 Xubuntu 进行连接。

以下是有帮助的帖子:OpenSSH:internal-sftp 和 sftp-server 之间的区别

答案2

你已经安装了 FTP 服务器了吗?如果没有,请按照下面的步骤安装一个 FTP 服务器守护进程,例如 vsftp

sudo zypper -n in vsftpd

然后配置/etc/vsftpd.conf文件。否则,请重新检查客户端的配置,并确保你把 SSH 私钥和公钥的目录放对了。

相关内容