SSH 连接过程设置环境变量

在使用 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

(完)

你可能感兴趣的:(SSH 连接过程设置环境变量)