Ich bin in einer Situation, in der mehrere Benutzer dasselbe Benutzerkonto auf einem Remotecomputer verwenden. Ich habe ein "persönliches" Verzeichnis, in das ich meine eigene .zshrc
Datei geschrieben habe, und ich möchte einen Weg haben, um:
- Starten Sie eine SSH - Sitzung in dem Remote - Rechner mit Direktiven aus meiner ssh - Konfigurationsdatei (zB
ControlMaster auto
) - Diese Sitzung führt eine Z-Shell aus
- Es wird
.zshrc
in meinem "persönlichen" Verzeichnis ausgeführt (nicht im Home-Verzeichnis des freigegebenen Benutzers).
Es wäre schön, einen Alias oder eine einfache Möglichkeit zu haben, solche SSH-Sitzungen zu starten (deshalb habe ich darüber nachgedacht, die Konfigurationsdatei von OpenSSH zu verwenden), aber ich bin offen für andere Ideen!
Verwenden Sie die Konfigurationsdatei von OpenSSH?
Ich habe auf der Manpage ssh_config von OpenSSH gelesen , dass ich mithilfe der Direktive LocalCommand
einen Befehl angeben kann, der nach erfolgreicher Verbindung mit dem Server lokal ausgeführt werden soll. Dies ließ mich denken, dass es eine Möglichkeit gibt, der config
Datei mitzuteilen , welcher Befehl nach dem Herstellen einer Verbindung zum Server remote ausgeführt werden soll, aber es scheint keinen zu geben.
.zshrc
in einem bestimmten Verzeichnis (dh einem "persönlichen" Home-Verzeichnis) auszuführen . Ich habe es versucht, ssh -t host_name 'zsh & source /path/to/my_zshrc'
aber es hat nicht funktioniert (ich habe es bekommen FPATH variable not defined
, und ich denke, es liegt daran, dass es zsh
fertig ist, bevor es läuft my_zshrc
, geschweige denn, dass es mir keine Z-Shell gegeben hat)
ssh mycommand
? Und wenn Sie vor jedem Befehl, der über ssh kommt, einen Setup-Befehl ausführen möchten, konfigurieren Sie die Serverseite.