在特定于连接主机名的 ssh 服务器中加载 .zshrc 文件

在特定于连接主机名的 ssh 服务器中加载 .zshrc 文件

我想在使用我的计算机连接到远程主机时获取远程主机上的某个文件。对于任何其他连接的机器,我需要一些其他默认配置。例如,远程主机上的文件.zshrc中可能存在类似的行:.zshrc

if [[ connecting_host_is_mypc ]]; then
  # do something
  ...
else
  # do something else
  ...
fi

我想我应该将其绑定到特定的公钥,实现这一点的最巧妙的方法是什么?

答案1

当你连接到 SSH 服务器时,它会根据你连接的位置信息为你设置环境变量。此信息存储在变量中SSH_CONNECTION,如手册页中所述ssh

SSH_CONNECTION

标识连接的客户端和服务器端。该变量包含四个以空格分隔的值:客户端 IP 地址、客户端端口号、服务器 IP 地址和服务器端口号。

相关内容