ssh 如何允许设置远程端口转发但不执行命令?

ssh 如何允许设置远程端口转发但不执行命令?

如何设置 SSH 命令以允许端口转发但不执行命令。

我知道 ssh 登录可以使用 -N 来停止命令执行,但是可以设置 ssh 配置文件来禁止它吗?

在 Linux 中限制 shell 的类型和路径是一种选择,但是可以在 SSH 配置本身中完成吗?

答案1

查看man sshd并搜索AUTHORIZED_KEYS FILE FORMAT

~/.ssh/authorized_keys您要做的是创建一个公钥/私钥对,并像平常一样将公钥放入文件中。然后编辑authorized_keys文件以添加字符串:

命令=“/bin/false”,无代理转发,无pty,无用户rc,无X11转发,允许打开=“127.0.0.1:80”

最终看起来会像这样:

command="/bin/false",no-agent-forwarding,no-pty,no-user-rc,no-X11-forwarding,permitopen="127.0.0.1:80" ssh-dss AAAAC3...51R==

您可能想要将参数更改为“permitopen”,并可能更改其他一些设置,但我认为基本上就是这样。

答案2

这篇文章应该能给你指明正确的方向

http://www.semicomplete.com/articles/ssh-security/

相关内容