Sie können Ihren .bashrc
vorübergehend kopieren mit einem anderen Namen auf Ihren Remote-Rechner. Verwenden Sie zum Beispiel .bashrc_temp
:
[email protected]$ scp .bashrc [email protected]:~/.bashrc_temp
Danach können Sie sich auf dem Remote-Rechner anmelden:
[email protected]$ ssh [email protected]
und source
die Datei .bashrc_temp
:
[email protected]$ source ~/.bashrc_temp
Jetzt können Sie Ihren .bashrc
verwenden und Ihre Funktionen. Wenn Sie mit Ihrer Arbeit fertig sind, können Sie die Datei ~/.bashrc_temp auf dem entfernten Rechner entfernen und sich abmelden.
Das Kopieren der Datei und die Anmeldung am Remote-Rechner kann mit einer Bash-Funktion erreicht werden:
# copy the .bashrc to the remote machine
# and log into the remote machine.
# parameter $1: [email protected]
function s() {
scp ~/.bashrc $1:~/.bashrc_temp
ssh $1
}
Aktualisieren :
Sie können auch den .bashrc
kopieren bis /tmp
auf Ihrem Remote-Rechner und Quelle /tmp/.bashrc_temp
.
Aktualisierung 2 :
Sie können sich mit ssh -t am Remote-Computer anmelden. Dadurch wird automatisch Ihr temporärer .bashrc
verwendet . Aktualisierte Funktion s()
:
function s() {
scp ~/.bashrc $1:/tmp/.bashrc_temp
ssh -t $1 "bash --rcfile /tmp/.bashrc_temp ; rm /tmp/.bashrc_temp"
}
jens-na hat eine ausgezeichnete Antwort gegeben. Ich verbrachte ein bisschen Zeit und überarbeitete es ein bisschen, um ein bisschen besser zu arbeiten. Auf diese Weise können Sie beliebige Parameter an SSH weitergeben, z. B. Portnummern. Der Unterschied besteht darin, dass es den ssh
verwendet Befehl zum Hochladen des .bashrc
Datei anstelle von scp
, die andere Befehlsparameternamen verwendet.
Sie werden auch feststellen, dass eine andere Datei hochgeladen wird, .bashrc_remote
, sodass Sie genau auswählen können, was Sie auf Remote-Servern beziehen möchten, anstatt alles
sshs() {
ssh [email protected] "cat > /tmp/.bashrc_temp" < ~/.bashrc_remote
ssh -t [email protected] "bash --rcfile /tmp/.bashrc_temp ; rm /tmp/.bashrc_temp"
}
Führen Sie es wie folgt aus:
sshs [email protected]
Der Name „sshs
' steht für "SSH-Quelle". Verwenden Sie ssh
wenn Sie nicht sourcen möchten, und verwenden Sie sshs
wenn du das tust.
https://gist.github.com/jonahbron/5549848
Ich denke, sshrc ist das, wonach Sie suchen:https://github.com/Russell91/sshrc
sshrc funktioniert genauso wie ssh, bezieht aber auch ~/.sshrc, nachdem man sich aus der Ferne angemeldet hat.
$ echo "echo welcome" > ~/.sshrc
$ sshrc [email protected]
welcome
$ echo "alias ..='cd ..'" > ~/.sshrc
$ sshrc [email protected]
$ type ..
.. is aliased to `cd ..'
Sie können dies verwenden, um Umgebungsvariablen festzulegen, Funktionen zu definieren und Post-Login-Befehle auszuführen. Es ist so einfach und hat keine Auswirkungen auf andere Benutzer auf dem Server - selbst wenn sie ebenfalls sshrc verwenden. Für eine erweiterte Konfiguration lesen Sie weiter.