我在一台服务器上托管多个域。
我希望能够更改 bash 提示符中显示的主机名,以指示我在 ssh 进入服务器时选择的主机名。
我的提示如下:
\u@\h
Run Code Online (Sandbox Code Playgroud)
这显示为:
user@hostname
Run Code Online (Sandbox Code Playgroud)
我如何更改\h以显示我登录的域(blah.net、hmm.com 等)?
事实证明,通过字符串匹配ssh来查找行ssh_config(5),因此如果所有 IP 都相同就可以了。
那么你想要的是
.ssh/config每个系统都有不同的线路,用于HostName给出ssh真实的主机域名.ssh/config使用 发送不同的变量SendEnv,请参阅 中的每一行man ssh_config。AcceptEnv *有效。)/etc/ssh/sshd_configsudo kill -1 $(cat /var/run/sshd.pid)AcceptEnv E1 E2 E3客户.ssh/config
Host barb
HostName deb
SendEnv BARB
Host jane
HostName deb
SendEnv JANE
Host deb barb jane
Protocol 2
ForwardAgent yes
Compression no
Run Code Online (Sandbox Code Playgroud)
服务器.bashrc
PS1='$BARB$JANE.otherstuff...'
Run Code Online (Sandbox Code Playgroud)
服务器/etc/ssh/sshd_config
...
AcceptEnv *
Run Code Online (Sandbox Code Playgroud)