Я заметил, что иногда учетная запись оболочки, к которой я обращаюсь через SSH, наследует псевдонимы и раскраску типов файлов от моей домашней оболочки.

Как происходит этот процесс? Эти оболочки обычно BASH, но я думаю, что это то, что объединяет все эмуляторы TTY.

3 ответа3

5

Это не имеет никакого отношения к SSH, bash или эмуляторам терминала. Они просто установлены таким же образом на другой стороне.

5

Фактически, вы можете заставить ssh отправлять переменные среды на сервер, чтобы они были доступны в удаленном сеансе. Вот как вы это делаете (пример для цветов типа файла, но вы можете адаптировать его и для других переменных среды):

  1. В вашем ~/.ssh/config (текущий пользователь) или /etc/ssh/ssh_config (все пользователи) добавьте эти строки:

    Хост *
    SendEnv LS_COLORS

  2. В /etc /ssh /sshd_config удаленного сервера добавьте эту строку, если она не существует:

    AcceptEnv LS_COLORS

    Примечание. Возможно, вам придется изменить существующую строку AcceptEnv, чтобы просто добавить к ней LS_COLORS.

  3. Перезапустите сервер SSH.

Это оно! Теперь ваш ssh-сеанс будет наследовать цвета ls от вашей текущей оболочки.

Предостережения:

  1. Что это не будет работать с псевдонимами, только с переменными среды.
  2. Работает только для протокола ssh 2.
  3. Ваша удаленная оболочка может перезаписать то, что отправляется через .bashrc
1

Как сказал Игнасио, он настроен таким образом, где вы подключаетесь. Просто переместите ваш .bashrc (или любые файлы, которые вы используете) и подключитесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .