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

на картине:

  • Msgstr "sudo: извините, вы должны иметь tty для запуска sudo" при использовании sudo в удаленном скрипте
  • ssh -> screen -> ssh - как убить удаленный экранированный ssh, не убивая оригинальную сессию ssh
  • При использовании псевдонима SSH, почему SSH игнорирует мой (действительный) билет Kerberos?
  • Нет подсказки индикатора bash после завершения разветвленного процесса
  • Локальная, временная регистрация всех команд ssh?
  • Значение переменной не распознается после использования gnu parallel?
  • введите описание изображения здесь

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

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

  • Пересылка X11 через SSH, если конфигурация сервера не позволяет
  • Ошибка аутентификации открытого ключа ssh
  • Как я могу остановить ssh от попытки создать ~ / .ssh?
  • Как использовать who / w с неинтерактивными входами SSH
  • Преобразовать float в следующее целое число в отличие от ближайшего?
  • sudo -u git clone
  • 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.

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