Wenn ich mich mit ssh auf einem Computer anmelde, wünsche ich mir, dass meine Aliase und Funktionen vorhanden sind. Mit anderen Worten, melden Sie sich bei einem Computer an, auf dem ich meine Befehlsverknüpfungen verwenden möchte.
Ich muss es dynamisch sein, jedes Mal, wenn ich mich anmelde, wünsche ich mir, ich hätte Aliase aktualisiert.
Anmerkungen: Sehr oft erfolgt die erstmalige Anmeldung, ohne dass Computer und Dateien bekannt sind. Manchmal ist es eine einmalige Anmeldung. Nur einmal für diesen Computer. Es muss danach gereinigt werden, die vorherige Konfiguration muss ebenfalls wiederhergestellt werden.
/tmp/
. Dies kann trivialerweise von jedem anderen Benutzer ausgenutzt werden, um Code als Benutzer auszuführen, der sich anmeldet. Dies sollte verwendenmktemp
, um sicherzustellen, dass die temporäre Datei einen eindeutigen Namen hat.jens-na hat eine hervorragende antwort geliefert. Ich habe ein bisschen Zeit verbracht und es ein bisschen überarbeitet, um ein bisschen besser zu arbeiten. Auf diese Weise können Sie jeden Parameter an SSH übergeben, z. B. Portnummern. Der Unterschied besteht darin, dass der
ssh
Befehl zum Hochladen der.bashrc
Datei verwendet wird, anstattscp
dass andere Befehlsparameternamen verwendet werden.Sie werden auch feststellen, dass eine andere Datei hochgeladen wird
.bashrc_remote
, sodass Sie anstelle von allem genau auswählen können, welche Quelle Sie auf Remote-Servern verwenden möchtenFühren Sie es wie folgt aus:
Der Name '
sshs
' steht für "SSH Source". Verwendenssh
Sie diese Option, wenn Sie keine Quelle verwenden möchten, und verwendensshs
Sie sie, wenn Sie dies tun.https://gist.github.com/jonahbron/5549848
quelle
Pseudo-terminal will not be allocated because stdin is not a terminal
Ich denke, Sie suchen nach sshrc: https://github.com/Russell91/sshrc
Hiermit können Sie Umgebungsvariablen festlegen, Funktionen definieren und Befehle nach der Anmeldung ausführen. So einfach ist das und wirkt sich nicht auf andere Benutzer auf dem Server aus - auch wenn sie sshrc ebenfalls verwenden. Lesen Sie für eine erweiterte Konfiguration weiter.
quelle
vim $(which sshrc)
und Sie können die Bash-Datei sehen. Sie können nach jeder Zeile Echobefehle einfügen, um zu sehen, wo sie hängen.Ich bin mir der Einschränkungen nicht sicher, aber ich habe es geschafft, dies mit etwas wie Folgendem zum Laufen zu bringen:
quelle
RC_DATA
Variable zu vermeiden .Das habe ich mir ausgedacht. Sie können damit eine normale rc-Datei verwalten, aber auch alles in einer ssh-Verbindung erledigen (dh Sie müssen sich nur einmal anmelden, anstatt zuerst einen scp auszuführen).
Ich bin mir nicht sicher, wie groß diese RC-Datei sein kann, da sie irgendwann maximal werden könnte.
quelle
Ich denke, dass https://github.com/fsquillace/pearl-ssh das tut, was Sie brauchen.
Ich habe es vor langer Zeit geschrieben, bevor sshrc geboren wurde, und es hat mehr Vorteile im Vergleich zu sshrc:
Zum Beispiel:
quelle
Eine Möglichkeit, es mit einer einzelnen SSH-Sitzung zum Laufen zu bringen, besteht darin, eine Variable zum Speichern Ihrer Bash-Datei zu verwenden, anstatt sie zu kopieren.
Scheint für mich zu arbeiten.
quelle
Ich wollte ein Problem wie das Ihre lösen und stellte fest, dass ich wirklich nach sshfs suchte. Vielleicht kannst du es auch benutzen?
Mein Problem war, dass ich beim ssh'ing meine Farben, Aliase, Funktionen und Skripte fernhalten wollte.
http://fuse.sourceforge.net/sshfs.html
quelle