2

で見つかった手法に従おうとして、次のことをbzr行いましgitosisた。

'my_parser' という名前の Python スクリプト ファイルを指すパラメーターに 追加されまし~/.ssh/authorized_keysた (ファイルは 777 として chmod されました)。command="my_parser"/usr/local/bin

そのスクリプトファイル'/usr/local/bin/my_parser'で、次の行を取得しました。

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

たとえば、sshssh localhost を実行しようとするNoneと、端末に接続すると接続が閉じられます。

過去にそのようなことをしたことがある人がいて、これを手伝ってくれるのではないかと思います。

その環境変数を取得するために、python ファイルで行うべきことはありますか?

4

1 に答える 1

1

$SSH_ORIGINAL_COMMAND単一のコマンドを実行するために ssh でホストに接続するときに設定されます。

$ ssh username@host 'some command'

あなたの「my_parser」は「何らかのコマンド」を返します。

my_parser でシェルを呼び出さない限り、シェルは終了し、接続が閉じます。これを使用して、リモートで実行されるコマンドの環境を制御できますが、対話型セッションを行う機能は失われます

于 2008-12-15T20:19:40.100 に答える