Python: os.environ.get ('SSH_ORIGINAL_COMMAND') возвращает None - PullRequest
2 голосов
/ 15 декабря 2008

Пытаясь следовать методике, найденной на bzr и gitosis, я сделал следующее:

добавлено к ~/.ssh/authorized_keys параметру command="my_parser" которые указывают на файл сценария Python с именем «my_parser» и находится в /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 Ответ

1 голос
/ 15 декабря 2008

$SSH_ORIGINAL_COMMAND устанавливается при подключении к хосту с помощью ssh для выполнения одной команды:

$ ssh username@host 'some command'

Ваш "my_parser" затем вернет "некоторую команду".

Если вы не вызовете оболочку с помощью my_parser, она завершится и соединение закроется. Вы можете использовать это для управления средой удаленно выполняемых команд, но вы теряете возможность иметь интерактивный сеанс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...