有些用户可以正确使用 ssh,有些则不行。我有一个管理员用户,它在 wheel 中。我使用 vsftpd 来允许 FTP。我为 FTP 创建了一个 nologin 用户。将此用户称为“ftpuser”。现在我想允许 sftp。它允许我使用管理员用户进行连接。我通过 为用户提供一个 shell 来删除 nologin usermod -s /bin/bash ftpuser
。它仍然不允许我通过 sftp 从 ftpuser 进行连接。 的内容/home/ftpuser/.ssh
只是known_hosts
包含“localhost”条目的文件。
用户权限(理论上)没问题:
ls -la /home
working (admin) : drwx------ 18 admin admin 4096 Feb 6 15:33 admin
non-working(ftpuser): drwx------ 3 ftpuser ftp 4096 Mar 26 15:25 ftpuser
我没有在 openssh 上配置任何特殊内容。ftpuser 需要什么吗额外的比 shell 通过 ssh 进入?
答案1
/var/log/auth.log 将为您提供更多详细信息。
有几件事可能出错了。我首先检查 /home/ftpuser/.ssh 目录的权限。如果该目录的权限不正确,OpenSSH 可能会拒绝让您登录(因为如果您允许写访问,恶意人员可能会将公钥放在其中)
尝试仅使用 ssh 而不是 sftp 进行连接,看看是否是 sftp 本身的问题。
还要检查您的 SSHd 配置文件,看看是否对允许登录的人有限制。它可能仅限于 wheel 中的用户。