小编dtg*_*dtg的帖子

SSH_ORIGINAL_COMMAND 变量未设置

我正在使用两台服务器,都运行 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在第二台服务器的情况下,我还需要什么其他配置来允许在身份验证后设置变量?

freebsd ssh jail ssh-keys

10
推荐指数
1
解决办法
5978
查看次数

标签 统计

freebsd ×1

jail ×1

ssh ×1

ssh-keys ×1