一个用户可以使用SSHFS,其他用户得到“远程主机已断开连接”

Nic*_*ick 7 ssh openssh sshfs

我在服务器上有两个具有有效 SSH 帐户的用户。两个用户都可以通过 ssh 成功登录。

尝试挂载 SSHFS 时,usera 可以毫无问题地挂载,而 userb 收到错误:

remote host has disconnected
Run Code Online (Sandbox Code Playgroud)

输入有效密码后。

在 auth.log 中,我们得到:

Apr 25 19:12:49 Ophelia sshd[26211]: Accepted password for userb from [ip address] port 44609 ssh2
Apr 25 19:12:49 Ophelia sshd[26211]: pam_unix(sshd:session): session opened for user userb by (uid=0)
Apr 25 19:12:49 Ophelia sshd[26240]: subsystem request for sftp
Apr 25 19:12:49 Ophelia sshd[26240]: Received disconnect from [ip address]: 11: disconnected by user
Apr 25 19:12:49 Ophelia sshd[26211]: pam_unix(sshd:session): session closed for user userb
Run Code Online (Sandbox Code Playgroud)

我读到这remote host has disconnected可能是由无效的 sftp-server 引起的/etc/ssh/sshd_config,但路径设置为/usr/lib/openssh/sftp-server看起来有效,并且 usera 可以很好地使用 SSHFS。

服务器和客户端是 Ubuntu 10.04。

有什么建议?

小智 12

来自OpenSSH 常见问题解答(通过knoppixforum.de此处为英文翻译):

如果您的 shell 初始化(.profile、.bashrc、.cshrc 等)会为非交互式会话生成输出,则 sftp 和/或 scp 可能会在连接时失败。此输出会混淆 sftp/scp 客户端。您可以通过执行以下命令来验证您的 shell 是否正在执行此操作:

ssh yourhost /usr/bin/true
Run Code Online (Sandbox Code Playgroud)

如果上述命令产生任何输出,那么您需要修改您的 shell 初始化。

也试试ssh user@host /bin/true


Nic*_*ick 5

我让它工作了...用户主文件夹的权限设置不正确。显然这不会阻止 ssh 登录,但会破坏 sshfs。

  • 那么您必须对权限进行哪些更改? (24认同)