代码之家  ›  专栏  ›  技术社区  ›  Tzury Bar Yochay

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

  •  2
  • Tzury Bar Yochay  · 技术社区  · 16 年前

    试图遵循在 bzr gitosis 我做了以下事情:

    加上 ~/.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 回复  |  直到 16 年前
        1
  •  1
  •   JimB    16 年前

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

    $ ssh username@host 'some command'
    

    然后,您的“my_parser”将返回“some command”。

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