如何允许或禁止访问 SFTP 服务器上的 SSH?

如何允许或禁止访问 SFTP 服务器上的 SSH?

我从以下文章开始在 Ubuntu Server 上设置 SFTP:http://blog.srmklive.com/2013/04/24/how-to-setup-sftp-server-ftp-over-ssh-in-ubuntu/如果我按照这些说明操作,我可以使用 SFTP 连接,但我无法再从终端连接到 SSH:

This service allows sftp connections only.
Connection to 10.0.0.130 closed.

以下是我对 sshd_config 所做的更改:

Subsystem sftp internal-sftp -f AUTH -1 VERBOSE

AllowGroups sftpusers sftp sshusers

Match Group sftpusers
ChrootDirectory %h
AllowTCPForwarding yes
ForceCommand internal-sftp

X11Forwarding no

有问题的用户 jcoulson 同时属于sftpuserssshusers群组。

有什么提示吗?你还需要更多信息吗?谢谢!

答案1

此设置

Match Group sftpusers
...
ForceCommand internal-sftp

限制组中用户对 sftp 的访问sftpusers。请从组中删除用户sftpusers或删除该 forcecommand 选项。

答案2

您无需对 ssh 的默认安装进行任何更改即可使用 sftp 和 ssh。所有sftp这些都是通过 进行文件传输的一种方法ssh

答案3

我使用了类似的方法,但出现了同样的错误,我发现可以使用 sshfs 连接/安装服务器上的 sftp 共享。Filezilla 也可以连接,但无法使用终端 ssh 命令进入。http://www.fullybaked.co.uk/articles/chroot-ssh-ftp-users-to-home-directory是我用来制作它的教程。我还必须手动创建主目录,因为 ubuntu 下不推荐使用 useradd 命令。

sshfs user@server:/folder /home/user/folder-to-mount-in/ -p 22

并卸载

fusermount -u /home/user/folder-to-mount-in/

该程序通过自动脚本、rsa 密钥认证、cron 和 rsync 帮助我规划自动备份。

答案4

我解决了一个非常相似的问题,认为它是排他性的:要么你想使用 ssh,要么你想使用 sftp。因此,将我的主要用户从 sftp 组中删除,只留下我的来宾用户作为这个 sftp 组的成员,让我的主要用户重新使用 ssh。

相关内容