.ssh / config для запуска удаленного сеанса в zsh

Я хотел бы начать удаленный сеанс без ввода следующей команды

ssh user@remoteserverip -t zsh 

Я знаю, что я могу изменить имена хостов в ~/.ssh/config чтобы просто использовать что-то вроде этого:

 ssh serveralias -t zsh 

Но я хочу удалить параметр -t zsh .

Есть ли способ достичь этого без написания функции?

4 Solutions collect form web for “.ssh / config для запуска удаленного сеанса в zsh”

Я не думаю, что это возможно с ~/.ssh/config . -t можно покрыть, добавив RequestTTY yes , но, похоже, вы не можете указать удаленную команду в ~/.ssh/config .

Однако с помощью zsh вы можете добавить:

 alias -g 'serveralias=serveralias -t zsh' 

к вашему ~/.zshrc .

Или выполните функцию:

 zssh() ssh "$@" -t zsh 

Я согласен с @Stephane, что нет способа сделать это, используя ~/.ssh/config file . Другим подходом было бы использовать файл ~/.ssh/authorized_keys на удаленном сервере. Если вы добавите такую ​​строку:

 command="exec zsh" ssh-dss ..... rest of key .... 

Тогда вы можете просто ssh как обычно, и вы получите zsh на удаленном сервере.

пример

На сервере, ssh на удаленный.

 $ ssh saml@greeneggs 

На удаленном сервере, подтверждая, что мы в zsh .

 [saml@greeneggs]~% ps -eaf|grep $$ saml 1974 1973 1 10:34 pts/3 00:00:00 zsh saml 2023 1974 0 10:34 pts/3 00:00:00 ps -eaf saml 2024 1974 0 10:34 pts/3 00:00:00 grep --color=auto 1974 

Вы можете делать более сложные вещи, используя этот файл, см. Этот Q & A, озаглавленный: ssh, запустить определенную оболочку и запустить команду на удаленной машине? ,

 sudo usermod -s /bin/zsh yourusername 

Вы лучше измените настройку системной оболочки.

  1. Обычно подключайтесь к серверу. ssh serveralias
  2. Выполнить chsh для изменения оболочки системы
  3. Введите /bin/zsh чтобы установить его в zsh
  4. ssh serveralias и он отобразит %

chsh [username] может использоваться для изменения настроек другого пользователя без повторного подключения.

  • `ls \` выходит из сеанса терминала?
  • zsh и xfce4-terminal
  • $ @ и 'set env $ PATH' - зачем это утверждение входит в .inputrc?
  • Oh-My-Zsh переопределяет мою функцию?
  • Сценарий Shell / Bash: Правильно отказаться от привилегий
  • zsh нечувствительность к регистру в середине слова
  • предотвращение очистки экрана при выходе из сеанса ssh
  • обработка подстановки команд в рыбах против других оболочек (sh, bash, zsh)
  • zsh: SHARE_HISTORY или INC_APPEND_HISTORY перерывы EXTENDED_HISTORY
  • Могу ли я ссылаться на команду перед '&&' после '&&'
  • Добавить аргументы из предыдущей команды для завершения zsh
  • Linux и Unix - лучшая ОС в мире.