Есть ли способ передать информацию о конфигурации оболочки при 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 .

  • Как поместить туннель в туннель?
  • Прокси SOCKS без команды ssh
  • Создание пары SSH с AES-256-CBC
  • Разрешить пользователю доступ к их собственному каталогу / var / www / html, ничего другого
  • Получить выходной ток
  • загружать и загружать файлы с сервера без указания пароля
  • Соединения SSH, работающие в фоновом режиме, не выводятся, если несколько соединений были запущены одной и той же оболочкой
  • Какова максимальная длина сообщения ssh-banner?
  • 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
    Linux и Unix - лучшая ОС в мире.