2008-12-15 14 views
2

試圖跟隨在bzrgitosis發現的技術,我做了以下內容:的Python:os.environ.get(「SSH_ORIGINAL_COMMAND」)返回無

加入~/.ssh/authorized_keyscommand="my_parser"參數 它指向一個python腳本文件名爲 'my_parser' 和位於 /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文件來執行,以獲取 環境變量?

$ ssh [email protected] 'some command' 

你「my_parser」會再回到「一些命令」:

回答

1

$SSH_ORIGINAL_COMMAND是當你使用ssh連接到主機來執行一個命令集。

除非你調用一個外殼,my_parser,它將然後退出,並且連接將關閉。您可以使用它來控制遠程執行的命令的環境,但您失去了進行交互式會話的能力