我创建了一个密钥对,用于从 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