我正在使用两台服务器,两台都运行FreeBSD 8.4-RELEASE-p1和OpenSSH_6.1p1。 位于/etc/ssh两个服务器的ssh_config文件是相同的。 两台服务器都configuration为允许用户使用SSH远程进入监狱环境。
作为testing,我使用以下命令在两台服务器上使用SSH密钥login到testing用户的监狱:
ssh -i ~/.ssh/private_key [email protected] hello
并且在两种情况下authorized_keys文件都指定要在authentication之后运行的以下命令(前缀到公钥)(两个服务器上的权限相同):
command="~/test.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
test.sh只需执行以下操作:
#!/bin/sh echo SSH_ORIGINAL_COMMAND = $SSH_ORIGINAL_COMMAND
在一台服务器上, sh脚本的输出显示如下:
SSH_ORIGINAL_COMMAND = hello
但是在另一台服务器上,结果似乎不存储在SSH_ORIGINAL_COMMAND中
SSH_ORIGINAL_COMMAND =
每个用户监狱的相应服务器的行为是相同的。 我的问题是 – 我需要什么其他configuration来允许SSH_ORIGINAL_COMMANDvariables在身份validation后设置第二台服务器?