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

chr*_*ris 1 ssh bash shell tty

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

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

Ign*_*ams 5

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


hai*_*img 5

实际上,您可以让 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 发送的内容