group2.fqdn
我已经用这个ForceCommand
指令设置了一个 SSH 服务器(称之为):
Match Group group1
ForceCommand ssh -t group1.fqdn
Match Group="*,!local,!group2,!root"
ForceCommand ssh -t group3.fqdn
对于sftp
不在group2
. 我该如何修改它才能sftp
正常工作?
因此:user1
ofgroup1
确实:
sftp group2.fqdn
然后他们(可能不得不输入两次密码)实际上是在sftp
做group1.fqdn
. 这可以做到吗?
上下文:
在我们的实验室中,每个组都有几台 Ubuntu 服务器,但只有一个允许外部访问,因此所有组都必须登录到一个组的服务器,然后除一个以外的所有组都被迫通过 SSH 连接到另一台服务器。我们曾经使用自定义 shell 执行此操作,但我正在尝试使用可用的服务器选项而不是 hack。自定义 shell 变体不允许 SFTP,这也不允许,但我想以某种方式让 SFTP 适用于所有这些服务器。
让 SFTP 工作的诀窍是将从客户端接收到的 SSH 命令按原样传递给服务器。我在测试你这样做时会发生什么
scp
或在 Unix & Linux 上提出问题sftp
时发现了这一点。现在,我的配置如下所示:
在哪里
/usr/local/bin/ssh_wrapper
:通过几个快速测试,
sftp
可以scp
很好地使用此配置。