sshfs 失败,显示“远程主机已断开连接”

sshfs 失败,显示“远程主机已断开连接”

我正在使用以下命令运行 sshfs:

sshfs [email protected]:/var/www/myapp /home/basicuser/code -o sftp_server="/usr/bin/sudo /usr/libexec/openssh/sftp-server"

我还创建了 RSA 密钥,这样我就可以通过 ssh 登录而无需输入密码(我测试过并且有效)。

我还将用户添加到 sudoers 文件中,以便在没有密码的情况下运行 sftp 服务器:

basicuser  ALL=(ALL)  NOPASSWD:  /usr/libexec/openssh/sftp-server

什么原因导致此错误?我该如何解决?

编辑

我正在尝试从远程服务器挂载本地计算机上的文件夹。在远程服务器上,只有 root 对该文件夹具有读/写权限。

远程文件夹:/var/www/myapp (仅限 root 读写)

答案1

如果您以如下方式运行 sshfs,则会获得有关失败的更多信息:

sshfs -odebug,sshfs_debug,loglevel=debug user@host ...

通常这会给你提供一些更有助于调试问题的信息。

答案2

它需要 tty(这基本上意味着某些东西不能在后台运行,但需要一个活动的终端窗口才能运行)。所以我将以下内容添加到/etc/sudoers(通过执行编辑visudo):

Defaults:basicuser !requiretty

我希望它不需要只为那一个命令使用 tty,但可能无法做到这一点:https://unix.stackexchange.com/a/80159

答案3

谢谢@Alex Hofsteede 提供的调试信息。
我的问题是我使用了自定义密码,即 Blowfish 密码。
command-line line 0: Bad SSH2 cipher spec 'blowfish-cbc'.
我删除了自定义密码,它就起作用了。

相关内容