.ssh / config для запуска удаленного сеанса в zsh
Я хотел бы начать удаленный сеанс без ввода следующей команды
ssh user@remoteserverip -t zsh
Я знаю, что я могу изменить имена хостов в ~/.ssh/config
чтобы просто использовать что-то вроде этого:
- Создайте список файлов из файла, содержащего ряд шаблонов глобусов
- Как изменить тему с помощью zsh
- Распространение тысяч файлов по подпапкам
- Почему `kill -s INT <zsh PID>` ведет себя иначе, чем `Ctrl-C`?
- Установка шрифтов Powerline для темы zsh + Prezto
ssh serveralias -t zsh
Но я хочу удалить параметр -t zsh
.
Есть ли способ достичь этого без написания функции?
- Как сохранить конечную косую черту после выбора каталога из параметров завершения zsh?
- Как найти функцию zsh, связанную с виджетами zle?
- Как передать переменные среды в новый сеанс входа в ssh?
- $ {! FOO} и zsh
- Как сделать zsh «правильной» функциональностью, помните мои решения по исправлению заклинаний
- zle - я не могу найти, почему Ctrl + R не работает для non-root
- Цвета не отображаются правильно в oh-my-zsh-темах
- Автозаполнение в оболочке с использованием последних N байтов stdout
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
Вы лучше измените настройку системной оболочки.
- Обычно подключайтесь к серверу.
ssh serveralias
- Выполнить
chsh
для изменения оболочки системы - Введите
/bin/zsh
чтобы установить его в zsh -
ssh serveralias
и он отобразит%
chsh [username]
может использоваться для изменения настроек другого пользователя без повторного подключения.