在使用 SSH 连接的过程中,可能需要设置一些环境变量,用于初始化,或者在连接过程中作为终端标记。
在这个过程中,会使用到以下两个 Option:
SendEnv
SetEnv
一、前提条件
需要在sshd_config
中指定允许客户端进行设置的变量名。
文件位置:
/etc/ssh/sshd_config
设置方法:通过AcceptEnv
关键字来指定,可以使用通配符,如 LC_*
。
# 指定允许接受的客户端传入的环境变量
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
AcceptEnv 自定义环境变量名 MY_ENV_*
注意:设置之后需要重启 SSD 服务。
$ sudo systemctl restart sshd
二、使用举例
在客户端使用 SSH 连接服务器时,通过以下方式指定参数。
-
SetEnv
的使用
$ ssh -o 'SetEnv 环境变量名=环境变量值' your.server.net
-
SendEnv
的使用
环境变量名=环境变量值 ssh -o 'SendEnv 环境变量名' your.server.net
(完)
网友评论