我可以通过 SSH 进入远程主机,但是使用 SSHFS 时会出现“对端重置连接”的情况,我错过了什么?

我可以通过 SSH 进入远程主机,但是使用 SSHFS 时会出现“对端重置连接”的情况,我错过了什么?

我创建了一个密钥对,用于从 12.04 开始连接到 Synology 磁盘。部署后,编辑 ~/.ssh/config 以自动使用它。测试:

ssh user@remotesynology

-> 运行良好。在第二台远程机器(运行 Ubuntu 服务器)上测试 -> 运行良好。

现在测试:

sshfs user@theubuntuserver: /home/user/ubuntuserver

-> 作品

最后:

sshfs user@remotesynology: /home/user/remotesynology

->错误:

read: Connection reset by peer

我看了这个问题,但这似乎不适用(我在 fuse 组中有用户,并且它适用于另一台机器)并且我没有收到权限被拒绝错误。

我错过了什么?

答案1

就我而言(我也尝试连接到远程 synology!)问题是服务器端未启用 SFTP。症状相同:我可以毫无问题地 ssh 到服务器,但sshfs命令失败。

要在 Synology 服务器上启用 SFTP,请转到控制面板 -> 文件服务 -> FTP 选项卡 -> SFTP 部分。

答案2

我以前遇到过一些sshfs奇怪的问题。安装后你真正应该做的第一件事sshfs是重启你的机器,或者至少X在你将自己添加到保险丝团体。

此错误通常出现在当用户不在保险丝团体, 或者如果允许其他保险丝未启用

有时候我的 ssh 密钥会出现问题。我必须明确告知sshfs要使用哪个密钥文件,即使ssh已为其配置了密钥文件 ( ~/.ssh/config)。

  • sshfs -oIdentityFile=/full/path/to/id_rsa user@machine

另一个解决方案是使用您的/etc/fstab并在此处添加新条目:

sshfs#USER@MACHINE:/remote/path/ /mnt/local/path/      fuse    user,_netdev,auto_cache,reconnect,uid=1000,gid=1000,IdentityFile=/full/path/to/.ssh/id_rsa,idmap=user,allow_other    0       2

这告诉您的机器挂载/remote/path/mnt/local/path。这意味着此挂载将是一个保险丝文件系统。还有一些其他设置,允许执行诸如在网络可用时挂载、在断开连接时自动重新连接等操作。

idmap 和 allow_other 部分允许保险丝组来挂载文件系统。它还将帮助映射权限以匹配指定的用户和组。

在此示例中,您可以运行以下命令来挂载文件系统:

  • mount /mnt/local/path/
  • ls /mnt/local/path/

答案3

如果您的服务器上设置了 iptables 防火墙规则,当您摆弄 sshfs 时它可能会将您锁定 - 这也会导致Connection reset by peer

答案4

/etc/ssh/sshd_config我刚刚遇到了同样的问题。原因是服务器上未启用 SFTP 子系统(SSHFS 正在使用它)。解决方案是在服务器上添加以下行:

Subsystem sftp /usr/lib/openssh/sftp-server

相关内容