Ich suche nach einer Möglichkeit, einige Aliase in meiner Sitzung auf jedem Server, zu dem ich ssh möchte, automatisch zu definieren. Ich kann sie nicht in den .bashrc
Dateien auf dem Server ablegen, da die Benutzerkonten, mit denen ich mich anmelde, von anderen Personen gemeinsam genutzt werden und außerdem Dutzende von ihnen vorhanden sind. Die Verwaltung eines Skripts auf jedem Computer wäre schmerzhaft. Ich weiß, dass ich expect
die Aliase automatisch eingeben könnte, aber ich habe mich nur gefragt, ob OpenSSH irgendetwas eingebaut hat, das möglicherweise verwendet werden könnte, um dies zu erreichen.
14
Sie können Ihre Konfiguration eingeben
.bashrc
und erst beim Anmelden ausführen lassen. Um dies zu ermöglichen, können Sie eine Umgebungsvariable über ssh übergeben..bashrc
Änderungensshd_config
Änderungen:.ssh/config
Modifikationen (Client-Seite):.bashrc
Modifikationen (Client-Seite):(ungetestet, sollte aber tun)
quelle
Vom ssh (1) man - Seite, wenn Sie eine Datei erstellen ~ / .ssh / rc , wird es vor dem Login - Shell, um dadurch die Möglichkeit zu tun geben wird ausgeführt des Benutzers ausgeführt werden ‚pre-setup‘ Aufgaben vor der Protokollierung in .. Als Beispiel wurde angegeben, dass Netzwerkfreigaben vor dem Anmelden bereitgestellt werden.
Wenn Sie keine einzelnen ~ / .ssh / rc- Dateien verwenden möchten , können Sie dies auch mit / etc / ssh / sshrc tun . Ein schneller Test zur Überprüfung Ihres bestimmten Benutzernamens oder einer Identifizierungsmethode kann andere daran hindern, überhaupt zu bemerken, dass dies vorhanden ist.
/ etc / ssh / sshrc wird NUR verwendet, wenn ~ / .ssh / rc nicht vorhanden ist, sodass Sie effektiv zwei Komplexitätsebenen erreichen können.
quelle
Aliase werden von der Shell definiert und interpretiert.
Leider gibt es keine Möglichkeit
ssh
, sie an die Remote-Shell weiterzuleiten.Sie könnten einen
ssh
Wrapper auf der Client-Seite schreiben , der eine nette Umgebung auf der Remote-Seite einrichtet, aber es wäre nicht schön.quelle
Wenn möglich, würde ich ein kleines Skript speichern, das alles, was Sie wollen, auf einem Server, auf den Sie von überall aus zugreifen können, initialisiert / definiert und nach dem Anmelden auf jedem Server ausführt.
quelle
Eine mögliche Lösung wäre, Ihr Skript so zu platzieren, dass alles auf einem Webserver eingerichtet wird, auf den alle anderen Server zugreifen können.
Dann sollte jeder Server nur ein kleines Skript benötigen, um etwas zu tun:
Auf diese Weise müssen Sie es nur an einer Stelle aktualisieren.
quelle
Schau dir .ssh / config an
Hier ist ein Beispiel https://lookherefirst.wordpress.com/2007/12/17/a-simple-ssh-config-file/
quelle