0
我的目标是让这些东西工作:在chroot的环境中使用两个SFTP和端口转发SSH
- 用户可以通过SFTP连接到服务器。他只能从他的家目录中读取内容(因此,他可以使用SFTP用户@主机)
- 用户可以连接到服务器,并打开一个远程端口的端口转发(因此,他可以使用SSH -R REMOTE_PORT:本地主机:端口用户@主机)
- 用户可以而不是做任何事情,但除了这两件事。他不应该有正常的shell访问权限,并且不应该能够运行命令。
我可以让任何一种情况下工作,但不是在同一时间。
我的/ etc/sshd_config的是:
Match Group restricted
ChrootDirectory /home/restricted/users
AllowAgentForwarding no
X11Forwarding no
AllowTcpForwarding yes
ForceCommand internal-sftp
显然,这是SFTP的工作情况。使用此配置,不可能打开远程端口进行端口转发。
对目前我允许TCP转发禁用ChrootDirectory指令的唯一方法ForceCommand和。
此外,我必须将shell更改为/ bin/bash以允许端口转发。
我的梦想情况是:
- /斌/假(或同等学历)为壳
- chroot的主目录
- SFTP工作
- 端口转发工作
- 没有别的作品
这甚至可能吗?如果是这样,我需要做什么?
在此先感谢。
此网站用于编程问题,而不是服务器配置。 – 2015-02-23 21:11:04
您可以在使用Paramiko或类似库编写的自定义SSH服务器中实现此功能。在这个开发工作中你遇到的问题可能在这里讨论。:) – 2015-02-23 21:41:15
(具体来说,Paramiko的Python版本; Java端口不支持SFTP服务器)。 – 2015-02-23 21:41:49