Mein Szenario:
Ich habe Server A
zu Hause und Server B
im Haus meiner Eltern. Ich habe auch Laptop A
und Laptop B
zu Hause. Ich mache alle möglichen seltsamen SSH-Hops - ich könnte mich verbinden Laptop A -> Server A -> Server B
. Oder Laptop B -> Server A -> Laptop A
. OderServer A -> Server B
Ich habe auf allen diesen Rechnern einen Schlüsselbund eingerichtet und wie ein guter, sicherheitsbewusster Computerfreak habe ich
eval `keychain --clear`
in meiner .zlogin
Akte.
Mein Problem ist, dass, obwohl ich meine Schlüssel auf entsperre Laptop A
, sobald ich eine Verbindung hergestellt habe, Server A
versucht wird, den Schlüsselbund/SSH-Agenten auf Server A zu verwenden, also muss ich entsperrendieseSchlüssel auch. Ich habe ForwardAgent
das Setup auch auf allen diesen Maschinen. Was ich am liebsten hätte, wäre so etwas:
- Einloggen in
Laptop A
Laptop A
Schlüssel zum Entsperren- ssh zu
Server A
- ssh zu
Server B
- mithilfe von Schlüsseln vonLaptop A
.
Wie kann ich das machen?
Antwort1
Dies beantwortet Ihre Frage zwar nicht direkt, bietet Ihnen jedoch eine alternative Option, die Ihnen möglicherweise weiterhilft. Normalerweise richte ich meine $HOME/.ssh/config
Datei folgendermaßen ein:
IdentityFile ~/.ssh/my-computers
# infrastructure
Host lap1
User sam
#PubkeyAuthentication no
ProxyCommand ssh [email protected] nc lap1.internal.local %p
Wenn ich dann unterwegs eine Verbindung zu meinem lap1.internal.local-System herstellen möchte, mache ich einfach Folgendes:
ssh lap1
Normalerweise kopiere ich meine öffentlichen Schlüssel per SSH auf andere Server, bei denen ich mich anmelden möchte. Wenn Sie möchten, dass ich das näher erläutere, lassen Sie es mich wissen.