Я нахожусь в ситуации, когда несколько пользователей используют одну и ту же учетную запись на удаленной машине. У меня есть «личный» каталог, где я написал свой собственный .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, почему бы не настроить серверную часть?