Wie ssh zu einem Server mit einem anderen Server mit Schlüssel vom zweiten Server?

7

So konfigurieren Sie ssh, um dies nachzuahmen:

ssh [email protected] -i /path/to/.ssh/server-1-ssh-key -t ssh [email protected] -i /home/server1-user-name/.ssh/server2-ssh-key

Wenn ich ausführe

ssh server2

Erläuterung:

  • Ich melde mich mit einem Schlüssel von meinem lokalen Computer bei server1.net an ( /path/to/.ssh/server-1-ssh-key)

    ssh [email protected] -i /path/to/.ssh/server-1-ssh-key
    
  • dann melde ich mich bei einem Server mit der folgenden IP 10.0.0.10 an. Dazu benutze ich den Schlüssel ( /home/server1-user-name/.ssh/server2-ssh-key), der auf Server-1 gespeichert ist

Wie sollte die SSH-Konfiguration für diesen Fall auf meinem lokalen Computer aussehen?

Ich habe die folgende Konfiguration versucht:

Host server2
  Hostname 10.0.0.10
  User server2-user-name
  ForwardAgent yes
  ProxyCommand ssh -i /path/to/.ssh/server-1-ssh-key -W %h:%p

Aber es funktioniert nicht.

czerasz
quelle

Antworten:

6

Sie möchten also, dass Server1 als Sprungbox fungiert. Sie benötigen also eine Zeilengruppe für Server1:

Host server1
Hostname server1.net
User server1-user-name
IdentityFile /path/to/.ssh/server-1-ssh-key

Dann benötigen Sie eine Zeilengruppe für Server 2, die durch diese springt:

Host server2
Hostname 10.0.0.10
User server2-user-name
ForwardAgent yes
ProxyCommand ssh server1 nc %h %p 2> /dev/null
IdentityFile /home/server1-user-name/.ssh/server2-ssh-key
jshort
quelle
0

Sie müssen AllowAgentForwarding für die sshd_config-Dateien Ihrer beiden Server festlegen. Möglicherweise müssen Sie ForwardAgent auch in der Clientkonfiguration auf Server 1 festlegen.

Siehe: https://help.github.com/articles/using-ssh-agent-forwarding

Martin Eve
quelle