GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verwendet man Ssh-Copy-ID mit Multiple-Hop-SSH-Tunnel?

Ich möchte einen öffentlichen SSH-Schlüssel aus ~/.ssh/id_rsa.pub kopieren Datei auf meinem lokalen Rechner in den ~/.ssh/authorized_keys Datei auf einem entfernten Host, der zwei SSH-Hops entfernt ist. Mit anderen Worten, localhost hat nur ssh-Zugriff auf host1 , aber host1 hat ssh-Zugriff auf host2 . Ich möchte meinen öffentlichen SSH-Schlüssel von localhost kopieren zu host2 .

Um einen SSH-Schlüssel auf einen Remote-Host zu kopieren, der nur einen Hop entfernt ist, gibt die SSH-Dokumentation den Befehl:

ssh-copy-id -i ~/.ssh/mykey [email protected]

Gibt es eine Möglichkeit, den Schlüssel mit einem einzigen Befehl auf eine Maschine zu kopieren, die zwei Sprünge entfernt ist?

Akzeptierte Antwort:

Sie können jedes ssh übergeben Option zu ssh-copy-id mit dem -o Möglichkeit. Durch die Verwendung des ProxyJump Option können Sie ssh-copy-id verwenden um Ihren Schlüssel per Jump-Host auf einen Host zu kopieren.

Hier ist ein Beispiel, wo ich meinen SSH-Schlüssel über den Jump-Host jump.spack.org nach leia.spack.org kopiere:

$ ssh-copy-id -o ProxyJump=jump.spack.org leia.spack.org
[email protected]'s password:

Number of key(s) added:        1

Und dann testen Sie es mit:

$ ssh -J jump.spack.org leia.spack.org
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-42-generic x86_64)

Linux
  1. So generieren Sie ein SSH-Schlüsselpaar (mit Beispielen)

  2. Verwendung von ssh-copy-id unter Ubuntu

  3. So aktualisieren Sie Homebrew mit Cron unter Mac OS

  4. Wie kann ich SSH mit einem SOCKS 5-Proxy verwenden?

  5. Wie verwende ich rsync mit einer IPv6-Adresse über SSH?

So erstellen Sie eine SSH-Schlüssel-Passphrase unter Linux

So verwenden Sie SSH, um eine Verbindung zu einem Remote-Server herzustellen

So verwenden Sie einen SSH-Schlüssel mit Nicht-Root-Benutzern

Generieren und Verwenden eines SSH-Schlüssels mit PuTTY

Wie generiert und verwendet man einen SSH-Schlüssel in einem Linux-System?

So verwenden Sie SSHFS-Mount mit Remote-Verzeichnissen über SSH