0
我需要隔離chroot監獄中的一些用戶,所有工作都正常。但是還有一個剩餘的問題:對於這些用戶(重定向到chroot),來自ssh客戶端的env變量會丟失。如何通過SSH將env變量傳遞給用戶重定向到chroot
例如,我的用戶發送的ENV LANG雖然他們的SSH客戶端,這個變量是在的sshd_config文件, 的AcceptEnv列表中,但不傳遞到chroot的用戶會話,甚至如果它適用於非chrooted的。
這裏是我的的/ etc/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’不匹配塊內不允許」
- 我的sshd的版本是:OpenSSH_5.3p1,我不能升級。
有沒有解決此問題的解決方案?
我不明白,無論如何,變量都會添加到全局範圍的/etc/ssh/sshd_config的AcceptEnv中。 你是什麼意思? 至於服務器的更新,我很樂意使用這個解決方案,如果我是一個管理他們的人,但尼特並不是這種情況,我預見他們更新CentOS 7.0,而不是幾年前:-) –
就像它是在你的示例配置。將'AcceptEnv'放在'Match'區塊之外。它會接受所有用戶的這個變量,但它應該沒關係,不是嗎?另外不要忘記,您需要在客戶端中正確添加'SendEnv'。 – Jakuje