Назад | Перейти на главную страницу

Переменная SSH_ORIGINAL_COMMAND не устанавливается

Я работаю с двумя серверами, оба из которых работают под FreeBSD 8.4-RELEASE-p1 и OpenSSH_6.1p1. Оба сервера ' ssh_config файлы, расположенные в /etc/ssh, идентичны. Оба сервера настроены таким образом, чтобы пользователи могли удаленно попадать в тюрьму с помощью SSH.

В качестве теста я вошел в тюрьму тестового пользователя, используя ключи SSH на обоих серверах, используя следующую команду:

ssh -i ~/.ssh/private_key test-user@server.mydomain.com hello

И authorized_keys file в обоих случаях указывает следующую команду, которая будет запущена после аутентификации, добавленная к открытому ключу (разрешения одинаковы на обоих серверах):

command="~/test.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty

куда test.shпросто выполняет следующую операцию:

#!/bin/sh

echo SSH_ORIGINAL_COMMAND = $SSH_ORIGINAL_COMMAND

На одном сервере вывод из вышеуказанного sh скрипт показывает следующее:

SSH_ORIGINAL_COMMAND = hello

Но на другом сервере результат не сохраняется в SSH_ORIGINAL_COMMAND.

SSH_ORIGINAL_COMMAND = 

Поведение одинаково для соответствующего сервера для каждой пользовательской тюрьмы. Мой вопрос - какая еще конфигурация мне нужна, чтобы разрешить SSH_ORIGINAL_COMMAND переменная, которая будет установлена ​​после аутентификации для второго сервера?