我使用多个不同的服务器,如果能够设置一些环境变量,以便当我通过 SSH 登录时它们在所有服务器上都处于活动状态,这将很有用。问题是,某些变量的内容包含敏感信息(散列密码),所以我不想把它留在 .bashrc 文件中——我只想将它保留在内存中。
我知道您可以使用 SSH 转发 DISPLAY 变量(通过 ForwardX11)或 SSH 代理进程(通过 ForwardAgent),所以我想知道是否有一种方法可以通过 SSH 连接自动转发任意环境变量的内容。理想情况下,我可以在 .ssh/config 文件中设置一些内容,以便它在我需要时自动运行。有任何想法吗?
可以,但是需要更改服务器配置。
阅读条目AcceptEnv
in sshd_配置(5) http://unixhelp.ed.ac.uk/CGI/man-cgi?sshd_config+5 and SendEnv
in ssh_配置(5) http://unixhelp.ed.ac.uk/CGI/man-cgi?ssh_config+5.
update:
您还可以在命令行上传递它们:
ssh foo@host "FOO=foo BAR=bar doz"
关于安全性,请注意,任何有权访问远程计算机的人都能够看到传递给任何正在运行的进程的环境变量。
如果您想对该信息保密,最好将其传递出去stdin
:
cat secret_info | ssh foo@host remote_program
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)