我在 Debian 6 上有一台家庭服务器用于备份。我想为某些用户设置具有 SSH 访问权限的 chrooted SFTP 环境(仅据我所知,现在有两个用户)。它几乎有效,或者说直到昨天才有效。在/etc/ssh/sshd_config
我建立了一个特殊的 chrooted 组:
Subsystem sftp internal-sftp
[...]
Match Group sftp-chroot
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
我创建了这个组并将我的帐户添加到其中。接下来,我在本教程(或其他非常相似)中进行了更改chmod
和更改。chown
它已经工作了两天。昨天晚上我无法登录我的服务器 - 自上次以来没有任何变化。控制台刚刚返回:
This service allows sftp connections only.
Connection to xxx.xxx.xxx.xxx closed.
Run Code Online (Sandbox Code Playgroud)
很明显,但它以前是如何工作的?从sftp-chroot
组中删除用户解决了这个问题,但当然不会导致 SFTP 上的 chroot。我是这样连接的:ssh my_login@xxx.xxx.xxx.xxx
我分组:
my_login cdrom floppy sudo audio dip video plugdev sftp-chroot
Run Code Online (Sandbox Code Playgroud)
来自的最后条目/var/log/auth.log
是:
Jun 4 13:59:54 debian sshd[1132]: Server listening on 0.0.0.0 port 22.
Jun 4 13:59:54 debian sshd[1132]: Server listening on :: port 22.
Jun 4 14:02:50 debian sshd[1185]: Accepted password for my_login from 10.0.0.10 port 57431 ssh2
Jun 4 14:02:50 debian sshd[1185]: pam_unix(sshd:session): session opened for user my_login by (uid=0)
Jun 4 14:02:50 debian sshd[1188]: Received disconnect from 10.0.0.10: 11: disconnected by user
Jun 4 14:02:50 debian sshd[1185]: pam_unix(sshd:session): session closed for user my_login
Run Code Online (Sandbox Code Playgroud)
也有安装vsftpd
和rssh
在服务器上。
我写了很多教程和文档,尝试了不同的目录权限和所有者。没有任何帮助。我在评论中看到有些人也有这个问题,但有任何提示如何解决它。也许有人可以提供帮助或遇到同样的问题?提前致谢。
如果有什么不清楚的,我会尝试更好地描述它。我的母语不是英语 ;)
根据您的描述,这听起来像是正确的行为。
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
使得匹配的组只能通过 sftp 连接,而不能通过 ssh 连接。
如果您希望允许 sftp-chroot 组中的用户同时使用 ssh 和 sftp,则需要删除该行。然而,到那时我相信 ssh 连接也将被 chroot。
归档时间: |
|
查看次数: |
12262 次 |
最近记录: |