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

2024-04-26 23:19:50 发布

您现在位置:Python中文网/ 问答频道 /正文

试图遵循在bzrgitosis找到的技术,我执行了以下操作:

添加到~/.ssh/authorized_keys参数command="my_parser" 指向一个名为“my parser”的python脚本文件,位于 /usr/local/bin(文件被chmoded为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文件中有什么需要做的吗 环境变量?


Tags: 文件脚本noneparserbinosmyusr
1条回答
网友
1楼 · 发布于 2024-04-26 23:19:50

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

$ ssh username@host 'some command'

然后,您的“我的语法分析器”将返回“some command”。

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

相关问题 更多 >