dtg*_*dtg 10 freebsd ssh jail ssh-keys
我正在使用两台服务器,都运行 FreeBSD 8.4-RELEASE-p1 和 OpenSSH_6.1p1。ssh_config
位于 中的两个服务器的文件/etc/ssh
是相同的。两台服务器都配置为允许用户使用 SSH 远程进入被监禁的环境。
作为测试,我使用以下命令在两台服务器上使用 SSH 密钥登录到测试用户的监狱:
ssh -i ~/.ssh/private_key test-user@server.mydomain.com hello
Run Code Online (Sandbox Code Playgroud)
并且这authorized_keys
两种情况下的文件都指定了以下要在身份验证后运行的命令,附加到公钥(两台服务器上的权限相同):
command="~/test.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
Run Code Online (Sandbox Code Playgroud)
其中test.sh
只需执行以下操作:
#!/bin/sh
echo SSH_ORIGINAL_COMMAND = $SSH_ORIGINAL_COMMAND
Run Code Online (Sandbox Code Playgroud)
在一台服务器上,上述sh
脚本的输出显示如下:
SSH_ORIGINAL_COMMAND = hello
Run Code Online (Sandbox Code Playgroud)
但是在另一台服务器上,结果似乎没有存储在 SSH_ORIGINAL_COMMAND 中
SSH_ORIGINAL_COMMAND =
Run Code Online (Sandbox Code Playgroud)
每个用户 jail 的相应服务器的行为是相同的。我的问题是 -SSH_ORIGINAL_COMMAND
在第二台服务器的情况下,我还需要什么其他配置来允许在身份验证后设置变量?