Я нахожусь в ситуации, когда несколько пользователей используют одну и ту же учетную запись на удаленной машине. У меня есть «личный» каталог, где я написал свой собственный .zshrc
файл, и я хотел бы иметь возможность:
- Запустите сеанс SSH на удаленном компьютере с директивами из моего конфигурационного файла SSH (например
ControlMaster auto
) - Этот сеанс запускает оболочку Z
- Он запускается
.zshrc
в моем «личном» каталоге (не в домашнем каталоге общего пользователя)
Было бы неплохо иметь псевдоним или простой способ запуска таких ssh-сессий (вот почему я подумал об использовании файла конфигурации OpenSSH), но я открыт для любых других идей!
Используете конфигурационный файл OpenSSH?
Я прочитал на справочной странице OpenSSH ssh_config, что могу использовать директиву, LocalCommand
чтобы указать команду для локального запуска после успешного подключения к серверу. Это заставило меня подумать, что может быть способ сообщить config
файлу, какую команду запускать удаленно после подключения к серверу, но, похоже, ее нет.
.zshrc
в определенном каталоге (то есть в «личном» домашнем каталоге). Я пытался, ssh -t host_name 'zsh & source /path/to/my_zshrc'
но это не сработало (у меня получилось FPATH variable not defined
, и я думаю, что это потому, что zsh
финиширует до того, как запустится my_zshrc
, не говоря уже о том, что это не дало мне Z-оболочки)
ssh mycommand
? И если вы хотите выполнить какую-либо команду установки перед каждой командой, которая приходит через ssh, почему бы не настроить серверную часть?