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

时间:2008-12-15 19:19:50

标签: python ssh

尝试遵循在bzrgitosis找到的技术,我做了以下工作:

~/.ssh/authorized_keys参数添加到command="my_parser" 它指向一个名为'my_parser'的python脚本文件,位于 /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 localhost 我在终端上获得None,然后关闭连接。

我想知道过去是否有人这样或类似,可以帮助我 有这个。

在我的python文件中有什么我应该做的才能得到它 环境变量?

1 个答案:

答案 0 :(得分:1)

当您使用ssh连接到主机以执行单个命令时,

$SSH_ORIGINAL_COMMAND被设置:

$ ssh username@host 'some command'

你的“my_parser”会返回“some command”。

除非您使用my_parser调用shell,否则它将退出,连接将关闭。您可以使用它来控制远程执行命令的环境,但是您无法进行交互式会话