2016-01-06 3 views
0

Мне нужно изолировать некоторых пользователей в тюрьме chroot, все работает нормально. Но есть последняя оставшаяся проблема: для этих пользователей (перенаправлено на chroot) переменные env, исходящие от клиента ssh, теряются.Как передать переменные env через ssh пользователю переадресовать на chroot

Например, мои пользователи отправляют окр LANG хотя их SSH клиента, и эти переменный находится в AcceptEnv списка sshd_config файла, , но не передаются в изолированных сеансы пользователей, даже если он отлично работает для не-chrooted.

Вот мой /и т.д./SSH/sshd_config обновление:

AcceptEnv LANG MY_SPECIFIC_VARS_* 

Match Group chrooted 
    ChrootDirectory /chroot 
    AllowTcpForwarding yes 
    X11Forwarding yes 
    X11DisplayOffset 10 
    X11UseLocalhost yes 
    AllowAgentForwarding yes 
    PermitRootLogin no 

К сожалению:

  • эта переменная не может быть установлен в файле .ssh/environnements, потому что она фиксируется в во время выполнения.
  • «Директива„AcceptEnv“не допускается в пределах блока Match»
  • моя версия SSHD является: OpenSSH_5.3p1, и я не могу обновить его.

Есть ли решение для решения этой проблемы?

ответ

0

Вы не можете принудительно применять его со стороны сервера, если вы не хотите добавлять его в глобальную область конфигурации. Мысль есть некоторые возможности:

  • запускать различные службы на другой порт для корневого каталога пользователей и добавить AcceptEnv там (без матча).
  • стороне клиента решение, если не большая часть переменных (может быть Баш псевдоним или функции):

    ssh server "MY_SPECIFIC_VARS=$MY_SPECIFIC_VARS bash" 
    
  • Как вы заметили, обновление всего сервера (? CentOS 6) будет иметь смысл. Поддерживаемые токи opensh AcceptEnv в Match блоки.

+0

Я не понимаю, переменные добавляются в глобальную область действия в AcceptEnv/etc/ssh/sshd_config. Что это значит? Что касается обновления серверов, я бы с радостью воспользовался этим решением, если бы я был им управляемым, но nit не так, и я предвидел их обновление CentOS 7.0 не раньше нескольких лет :-) –

+0

точно так же, как это было в вашем примере config. Вывод 'AcceptEnv' из блока' Match'. Он примет эту переменную для всех пользователей, но это не имеет значения, не так ли? Также не забывайте, что вам необходимо добавить «SendEnv» в клиентах соответствующим образом. – Jakuje

Смежные вопросы