如何让 ssh 会话从 sshd 继承环境变量?

如何让 ssh 会话从 sshd 继承环境变量?

我已经sshd在远程主机上设置了一系列环境变量。然后我通过 ssh 进入该主机,并得到以下结果:ps

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0 112868  4208 ?        Ss   19:27   0:00 /usr/sbin/sshd -D -e
root       127  0.0  0.0 148480  5372 ?        Ss   19:34   0:00 sshd: root@pts/0
root       129  0.0  0.0  13392  1892 pts/0    Ss   19:34   0:00 -bash

当前的pid129。它的父级是127,其父级是1

如何让当前的 ssh 会话拥有来自初始sshd进程的所有环境变量?当前进程及其父进程都没有在 sshd 中设置的环境变量。

答案1

实际上 SSH 应该具有默认的系统环境变量。
这意味着它的变量应该来自以下文件:/etc/environment、、、。不过/etc/profile,很多变量都是 shell 特定的;/etc/profile.d//etc/bash.bashrc

由于您使用的是 bash,因此您将/etc/bash.bashrc在创建 shell 时自动执行特定于用户的登录脚本。

要从这些文件中获取环境变量,只需在运行其他任何文件之前执行它们。

资料来源:
https://askubuntu.com/questions/26318/environment-variable-vs-shell-variable-whats-the-difference https://www.tecmint.com/set-unset-environment-variables-in-linux/

相关内容