如何在 SSH shell 中继承我的别名和文件颜色?

如何在 SSH shell 中继承我的别名和文件颜色?

我注意到有时我通过 SSH 访问的 shell 帐户会从我的主 shell 继承别名和文件类型颜色。

这个过程是如何发生的?这些 shell 通常是 BASH,但我想这是所有 TTY 仿真器都具有的共同点。

答案1

它与 SSH、bash 或终端仿真器无关。它们只是在另一端以相同的方式设置。

答案2

事实上,你让 ssh 将环境变量发送到服务器,以便它们在远程会话中可用。操作方法如下(以文件类型颜色为例,但您也可以将其调整为其他环境变量):

  1. 在您的~/.ssh/config(当前用户)或/etc/ssh/ssh_config(所有用户)中添加以下行:

    主机 *
    SendEnv LS_COLORS

  2. 如果远程服务器的 /etc/ssh/sshd_config 中不存在此行,请添加此行:

    接受环境 LS_COLORS

    注意:您可能需要修改现有的AcceptEnv 行以将LS_COLORS 添加到其中。

  3. 重新启动 ssh 服务器。

就是这样!现在,您的 ssh 会话将从当前 shell 继承 ls 颜色。

注意事项:

  1. 这不适用于别名,只适用于环境变量。
  2. 仅适用于 ssh 协议 2。
  3. 你的远程 shell 可能会覆盖通过远程 .bashrc 发送的内容

答案3

就像 Ignacio 所说的那样,它是按照您连接的方式设置的。只需将您的 .bashrc(或您使用的任何文件)移过去并连接即可。

相关内容