Skip to main content
 首页 » 编程设计

Python: os.environ.get ('SSH_ORIGINAL_COMMAND' ) 返回 None

2025年05月04日10zlslch

尝试遵循在 bzr 和 gitosis 中找到的技术,我执行了以下操作:

添加到 ~/.ssh/authorized_keys command="my_parser" 参数 它指向一个名为“my_parser”并位于 /usr/local/bin(文件被更改为 777)

在那个脚本文件 '/usr/local/bin/my_parser' 我得到了以下内容 行:

#!/usr/bin/env python 
import os 
print os.environ.get('SSH_ORIGINAL_COMMAND', None) 

尝试 ssh 时,例如ssh 本地主机 我在终端上得到 None,然后连接关闭。

我想知道过去是否有人做过这样或类似的事情并且可以帮助我 有了这个。

为了得到它,我应该在我的 python 文件中做些什么 环境变量?

请您参考如下方法:

$SSH_ORIGINAL_COMMAND 在您使用 ssh 连接到主机以执行单个命令时设置:

$ ssh username@host 'some command' 

然后您的“my_parser”将返回“一些命令”。

除非您使用 my_parser 调用 shell,否则它将退出,并且连接将关闭。您可以使用它来控制远程执行命令的环境,但是您失去了进行交互式 session 的能力