Kann ich env-Variablen über ssh weiterleiten?
Ich arbeite mit mehreren verschiedenen Servern, und es würde nützlich sein zu können, werden einige Umgebungsvariablen setzen, wie, dass Sie aktiv auf alle von Ihnen, wenn ich in SSH. Das problem ist, dass die Inhalte von einigen der Variablen, die sensible Informationen enthalten (Hash-Passwörter), und so habe ich nicht wollen, lassen es herumliegen, ein .bashrc-Datei-ich möchte es behalten, nur im Arbeitsspeicher.
Ich weiß, dass Sie können SSH verwenden, um vorwärts die DISPLAY-variable (über ForwardX11) oder ein SSH-Agent-Prozess (via ForwardAgent), so Frage ich mich ob es einen Weg gibt, um automatisch nach vorne, den Inhalt von beliebigen environment Variablen über SSH-verbindungen. Im Idealfall etwas, das ich in einem .ssh/config-Datei, so dass es automatisch ausgeführt wird, wenn ich es brauche. Irgendwelche Ideen?
InformationsquelleAutor der Frage singingwolfboy | 2010-12-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie, aber es erfordert die änderung der server-Konfiguration.
Lesen Sie die Einträge für
AcceptEnv
im der sshd_config(5) undSendEnv
im ssh_config(5).update:
Können Sie auch übergeben Sie auf der Kommandozeile:
Bezüglich der Sicherheit, als jemand mit Zugriff auf die remote-Maschine wird in der Lage sein zu sehen, die environment-Variablen übergeben werden, um einem Laufenden Prozess.
Wenn Sie möchten, halten Sie diese Informationen geheim, es ist besser, führen Sie es durch
stdin
:InformationsquelleAutor der Antwort salva
Können Sie es nicht automatisch (außer für
$DISPLAY
was Sie können nach vorne mit-X
zusammen mit Ihrem Xauth info also remote-Programme können tatsächlich eine Verbindung zu Ihrem display), aber Sie können ein Skript verwenden, mit einer "hier-Dokument":Den unescaped Variablen wird direkt vor Ort ausgebaut und das Ergebnis übertragen auf die remote-Seite. Also die
PATH
wird mit dem remote-Wert von$HOME
.InformationsquelleAutor der Antwort Aaron Digulla