SSH-Proxy-Sprung mit Identitätsdatei nur im Proxy

869
Adriano_epifas

Ich konnte meinen speziellen Fall in anderen Threads nicht finden.

Grundsätzlich habe ich meinen PC (Ubuntu), einen Proxy (Debian) und ein Ziel (Debian). Ich möchte einen Proxy-Sprung vom PC zum Ziel machen, das den Proxy durchläuft. Bei der Authentifizierung vom Proxy zum Ziel und vom PC zum Proxy wird die Pubkey-Authentifizierung verwendet, und jede Maschine verfügt über ein eigenes Schlüsselpaar.

Der Privkey im PC stimmt mit dem PC-Pubkey im Proxy überein und befindet sich im Standardverzeichnis. Also, ich lasse einfach ssh user@proxy inden PC laufen und er verbindet sich gut mit dem Proxy. Im Proxy muss ich angeben ssh -i mypubkey user@targetserver, dass die Verbindung fein ist (es ist nicht der Standardschlüssel).

Nun, vom PC aus weiß ich nicht, wie man einen Befehl ausführt und im Ziel landet, da ich den Privkey im Proxy angeben muss. Ich habe es versucht:

ssh -J user@proxy user@target ssh -Ao ProxyCommand="ssh -W %h:%p user@proxy" user@target 

Aber es gibt mir Fehler Erlaubnis verweigert (publickey).

Im Proxy-Server habe ich versucht, die Direktive IdentityFile in ~/.ssh/configund in hinzuzufügen, /etc/ssh/ssh_configaber anscheinend, wenn ich den Proxy vom Sprungcomputer aus als Jump-Host anrufe, nimmt er keine Konfigurationen aus diesen Dateien an.

Wenn ich den Privkey vom Proxy zum PC bringe und mit -izum Beispiel spezifiziere, funktioniert es (das wäre ssh -i mypubkey -J user@proxy user@target). Meine Frage ist also: Ist es möglich, den Privkey im Proxy zu behalten und ihn im PC zu referenzieren, damit ich ihn nicht auf den PC verschieben muss?

0

1 Antwort auf die Frage

0
eggo

[...] ist es möglich, den Privkey im Proxy zu behalten und ihn im PC zu referenzieren, damit ich ihn nicht auf den PC verschieben muss?

Kurze Antwort: Nein

Grund: Alle Verweise auf Konfigurationsdateien (oder Befehlszeilen) auf Ihrem lokalen PC beziehen sich auf Dateien, die sich auf Ihrem lokalen Gerät (PC) befinden. Sie können nicht remote (Proxy) Dateien von Ihrem PC verweisen, der sshZugriff zu der Zeit sshversucht, die Verbindung herzustellen.

Außerdem: Sie möchten den privaten Schlüssel wahrscheinlich nicht für den Proxy-to-Target- Zugriff auf dem Proxy speichern . Wenn Sie dies tun, muss es sich um einen Schlüssel ohne Passphrase handeln. Dies ist immer eine schlechte Sicherheitspraxis. Im Allgemeinen ist es am besten, Ihre privaten Schlüssel gut zu sichern. In meinem Fall existieren sie nur auf meinem lokalen Rechner und haben immer gute Passphrasen.

Vorgeschlagene Problemumgehung: Sie haben das Setup bereits mit dem Proxy-to-Target- Schlüssel auf Ihrem lokalen PC ausgeführt. Fahren Sie entweder fort oder verwenden Sie den ssh-agent und die Weiterleitung, um einen passwortlosen Zugriff zu ermöglichen, von dem Sie annehmen, dass Sie ihn behalten möchten. Beispieleinträge ~/.ssh/config:

Host target ProxyJump user@proxy IdentityFile .../target-id_rsa  Host proxy IdentityFile .../proxy-id_rsa ForwardAgent yes 

Sie können wahrscheinlich ohne IdentityFileAnweisungen auskommen, wenn Sie wissen, dass Sie die Schlüssel bereits in Ihren lokalen Agenten geladen haben.

Ich denke, es macht Sinn. Die gleiche Situation tritt bei TOR auf, wenn ich mich nicht irre. Adriano_epifas vor 5 Jahren 0