Übersicht
ssh-copy-id automatisiert den Prozess der Einrichtung der SSH-Schlüsselauthentifizierung, sodass Benutzer sicher und ohne Passwort auf Remote-Server zugreifen können. Der Befehl verwendet standardmäßig öffentliche Schlüsseldateien wie ~/.ssh/id_rsa.pub oder ~/.ssh/id_dsa.pub, kann aber auch so konfiguriert werden, dass bestimmte Schlüsseldateien verwendet werden.
Hauptfunktionen
- Kopiert öffentliche SSH-Schlüssel auf den Remote-Server
- Automatische Einstellung der Berechtigungen für die Datei authorized_keys
- Unterstützt die Einrichtung einer SSH-Umgebung ohne Passwort
- Verhindert das Hinzufügen doppelter Schlüssel bei mehrmaliger Ausführung (Idempotenz)
Wichtige Optionen
Der Befehl ssh-copy-id bietet mehrere nützliche Optionen, um den Prozess des Schlüsselkopierens fein abzustimmen.
Schlüssel- und Verbindungseinstellungen
Ausführungsmodi
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`ssh-copy-id` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Verschiedene Szenarien zum Kopieren von SSH-Schlüsseln auf einen Remote-Server mit ssh-copy-id.
Grundlegende Verwendung
ssh-copy-id user@remote_host
Kopiert den Standard-öffentlichen Schlüssel (z. B. ~/.ssh/id_rsa.pub) für den Benutzer 'user' auf 'remote_host'. Sie werden aufgefordert, das Passwort einzugeben.
Spezifische Schlüsseldatei angeben
ssh-copy-id -i ~/.ssh/my_custom_key.pub user@remote_host
Kopiert den Schlüssel mit der angegebenen öffentlichen Schlüsseldatei (z. B. ~/.ssh/my_custom_key.pub).
Verwendung eines nicht standardmäßigen SSH-Ports
ssh-copy-id -p 2222 user@remote_host
Wird verwendet, wenn der Remote-Server den SSH-Dienst auf einem anderen Port als dem Standardport (22) ausführt (z. B. 2222).
Kombination mehrerer Optionen
ssh-copy-id -i ~/.ssh/another_key.pub -p 2222 user@remote_host
Ein Beispiel für das Kopieren eines Schlüssels auf einen nicht standardmäßigen Port unter Verwendung einer spezifischen Schlüsseldatei.
Tipps & Hinweise
Nützliche Tipps und Dinge, die Sie bei der Verwendung von ssh-copy-id beachten sollten.
Vorbereitung
Stellen Sie sicher, dass die folgenden Punkte erfüllt sind, bevor Sie ssh-copy-id verwenden.
- Generieren eines öffentlichen Schlüssels: Wenn Sie noch kein SSH-Schlüsselpaar haben, müssen Sie zuerst eines mit dem Befehl `ssh-keygen` erstellen.
- Zugriff auf den Remote-Server: Sie benötigen ein Passwort oder eine andere Authentifizierungsmethode, um sich per SSH mit dem Remote-Server verbinden zu können. ssh-copy-id fragt nach diesem anfänglichen Passwort.
Berechtigungsprobleme
ssh-copy-id stellt automatisch die korrekten Berechtigungen für das Verzeichnis `~/.ssh` und die Datei `~/.ssh/authorized_keys` auf dem Remote-Server ein. Wenn Sie den Schlüssel manuell kopiert haben, müssen Sie die Berechtigungen mit den Befehlen `chmod 700 ~/.ssh` und `chmod 600 ~/.ssh/authorized_keys` korrekt einstellen.
Idempotenz
ssh-copy-id fügt einen bereits kopierten Schlüssel nicht erneut hinzu. Daher werden bei mehrmaliger Ausführung keine doppelten Schlüssel in der Datei authorized_keys angehäuft. Dies ist ein sehr nützliches Merkmal für die Verwendung in Skripten.