Есть ли способ передать информацию о конфигурации оболочки при SSHing на хост?

Я знаю, как установить запрос GNOME-терминалов (или xterms!) На зеленый / красный относительно последнего кода выхода:

vi .bashrc export PROMPT_COMMAND='PS1="` if [[ \$? = "0" ]]; then echo "\\[\\033[0;32m\\]"; else echo "\\[\\033[0;31m\\]"; fi`[\u@\h \w]\[\e[m\] "' export PS1 

на картине:

введите описание изображения здесь

но если я войду на удаленный сервер, то эти настройки цвета не сработают!

Как я могу настроить его для работы на удаленных терминалах? К сожалению, я не могу добавить указанные строки на удаленные серверы .bashrc .

  • CentOS 7 - ssh login отказано, когда я использую открытый ключ ssh, но работает только с именем пользователя
  • Выполняет ли rsync контроль над любой контрольной суммой?
  • ssh_exchange_identification: соединение закрыто удаленным хостом
  • Передача ssh X11
  • Ограничение сеанса для сервера OpenSSH на Ubuntu Desktop 7.10
  • Как определить IP данного устройства в той же сети
  • что это означает по адресу электронной почты в качестве метки генерирования лобковой / частной пары ключей rsa?
  • SSH Login Alert Использование pam_exec
  • 2 Solutions collect form web for “Есть ли способ передать информацию о конфигурации оболочки при SSHing на хост?”

    Вы пытаетесь изменить приглашение, отображаемое удаленной оболочкой. Это, конечно, требует изменения файла конфигурации удаленной оболочки, то есть .bashrc .

    Если вы не хотите изменять файл, и вам действительно нужно использовать эту общую учетную запись (вставьте обязательное ворчание об общих учетных записях), и вы входите в систему через ssh, вы можете (ab) использовать command= option в ~/.ssh/authorized_keys . Ключ с параметром команды хорош только для запуска указанной команды; но команда в файле authorized_keys выполняется с переменной среды SSH_ORIGINAL_COMMAND установленной для указанной пользователем (пустой для интерактивных сеансов). Таким образом, вы можете использовать что-то вроде этого в ~/.ssh/authorized_keys :

     command="HOME=$HOME/.HOME.lance; if [ -n \"$SSH_ORIGINAL_COMMAND\" ]; then eval \"$SSH_ORIGINAL_COMMAND\"; else exec \"$SHELL\"; fi" ssh-rsa AAAA…== lance@example.com 

    Обратите внимание, что я помещал разрывы строк выше для удобочитаемости, но на самом деле это должно быть все в одной строке в файле authorized_keys .

    Затем поместите ваши любимые файлы конфигурации в каталог .HOME.lance .

    Для случайного использования вы можете явно указать файл профиля или запустить любую команду оболочки. Передайте опцию -t чтобы иметь терминал, если вы хотите запускать интерактивные команды.

     ssh shared-account@server "LS_COLORS='$LS_COLORS' ls --color" ssh -t shared-account@server '. ~/.profile.drew; exec zsh' 

    Если вы хотите редактировать или копировать файлы на удаленном компьютере, вы можете использовать сетевую файловую систему, такую ​​как SSHFS (для клиентов unix) или Tramp (для Emacs), и работать с комфортом в вашей локальной среде.

    При входе в удаленную систему вам предоставляется новая оболочка. В частности, оболочка в системе REMOTE. Чтобы ваши любимые настройки оболочки на другой машине, вам также нужно будет установить свои предпочтения на этом компьютере. Это означает, что вам нужно будет установить приглашение командной строки приглашения в файле .bashrc на удаленном сайте. Он разработан таким образом.

    В качестве побочного примечания, возможно, что при входе на удаленный компьютер удаленная машина может предположить, что у вас менее эффективный терминал, чем у вас. Если ваш PS1 установлен правильно, попробуйте также установить свою переменную TERM, когда вы попадете на новую машину. Удаленные компьютеры часто принимают довольно немой терминал для всех удаленных логинов, но они часто фактически поддерживают достойные, и вы можете подделать его для использования разумных параметров, но вынуждая эту переменную среды к чему-то способному, например xterm-color.

    Interesting Posts

    Что это значит, когда lshw говорит беспроводной адаптер `UNCLAIMED`, в то время как iwconfig не находит его?

    open .rpm не удалось: разрешение отклонено

    как удалить конфликтный пакет

    Как вывести структуру каталогов в формат Json

    Освободите место подкачки сразу после события свопинга

    Отменить или изменить по умолчанию «повторное обнаружение мониторов» windows + p cinnamon keybinding с использованием gsettings

    Ограничение размера файла в соответствии с учебником Роберта Лава

    Загрузить / Скомпилировать локальную версию mysqldump

    Установите Firefox Quantum в debian 9 Stretch

    Почему Write выглядит приоритетным по сравнению с Read в файловой системе? (или наоборот)

    метки тега sed

    удалить строку заголовка другой программы

    Не удается увеличить размер раздела с помощью GParted?

    Команда запуска, когда температура превышает пороговое значение, без демона

    perl taint mode: небезопасная зависимость

    Linux и Unix - лучшая ОС в мире.