限制客户端 SSH 配置

限制客户端 SSH 配置

我们允许一小群学生用户使用ssh本地转发连接到我们的服务器,以便访问数据科学/编程资源,例如 Jupyter、rstudio 等。

最近我注意到,学生们在跑步时无法跟踪他们所在的主机ssh。例如,学生将运行ssh -L foo:localhost:foo host1,然后在 中host1,他们运行ssh -L foo:localhost:foo hostN以连接到host1我们的另一个主机。这当然会破坏foo所有其他用户的端口转发,因为现在host正在监听foo

我暂时对主机进行了限制ssh,以便学生无法ssh在远程主机上运行客户端。但是,我不能完全排除用户ssh在某些时候不需要访问权限的情况。

有没有办法(/etc/ssh/ssh_config也许在)客户端进行配置ssh以防止用户启动危险命令?例如,我想阻止在foo上收听host1

谢谢

答案1

您无法轻松控制客户端,但可以控制服务器端,定义在/etc/ssh/sshd_config.禁用所有转发选项并重新启动服务:

DisableForwarding yes

ssh -L请注意,这消除了使用或 的简单方法ssh -R,但它并不能阻止某人设置应用程序代理(例如,使用netcatsocat)。

相关内容