17.10. Настройка приглашения Bash для SSH

Проблема

При подключении через SSH внешний вид приглашения изменяется, и в нём отображается имя удалённого хоста. Однако стандартное чёрно-белое приглашение выглядит непривлекательно. Вам хотелось бы использовать собственное многоцветное приглашение, которое бы не только улучшило внешний вид, но и чётко указывало на наличие активного подключения SSH.

Решение

Чтобы улучшить внешний вид приглашения Bash на удалённом компьютере, вы можете настроить его цвет и добавить указание на подключение через SSH. В следующем примере приглашение выводится красным цветом с добавленным суффиксом «ssh». Добавьте следующий фрагмент в файл .bashrc на удалённой системе, к которой вы будете подключаться:

if [ -n "$SSH_CLIENT" ]; then
    text=" ssh"
fi
export PS1='\[\e[0;31m\]\u@\h:\w${text}$\[\e[m\] '

Теперь, при подключении по SSH, приглашение будет отображаться красным цветом, а в конце добавится пометка «ssh»:

carla@server06:~ ssh $

Красным цветом будет выделяться только приглашение; остальной текст будет отображаться в стандартной цветовой схеме терминала.

Комментарий

Настройка приглашения Bash предлагает широкие возможности кастомизации, и её можно адаптировать под любые предпочтения. Например, вы можете выбрать другой цвет, используя код \e[0;32m для зелёного или \e[0;34m для синего, либо добавить больше информации, такой как дата или текущее время. Также можно изменить название переменной «text» или убрать суффикс «ssh».

В этом примере настройка основана на проверке переменной окружения SSH_CLIENT. Когда переменная определена, Bash понимает, что пользователь подключён через SSH и заменяет стандартное приглашение на специальное. Чтобы получить доступ к другим переменным среды, можно использовать команды env или printenv, что позволяет адаптировать приглашение в зависимости от вашего окружения.

Важный аспект при работе с SSH — обеспечение безопасного соединения и удобного интерфейса. Настроенное приглашение делает сеанс более удобным, визуально напоминая пользователю, что он работает в удалённой сессии, что особенно полезно при выполнении административных задач на нескольких серверах.

Кроме того, к файлу .bashrc можно добавить дополнительные параметры, такие как настройки для отображения времени последнего входа в систему, количества запущенных процессов или текущей загрузки CPU, что сделает ваш терминал ещё более информативным и удобным.

См. также

bash(1); The Bash Prompt Howto.