Wie funktioniert das Kopieren eines SSH-Schlüssels mit ConnectBot?
- Was bedeutet "ssh-copy-id" und warum wird es benötigt?
- Kann ConnectBot "ssh-copy-id" automatisch ausführen?
- Wie kann man den SSH-Schlüssel in ConnectBot erzeugen und kopieren?
- Wie wird der öffentliche Schlüssel auf den Server übertragen?
- Zusammenfassung
ConnectBot ist eine beliebte Open-Source-SSH-Client-App für Android-Geräte, die es ermöglicht, sich sicher mit entfernten Servern zu verbinden. Ein wichtiger Schritt bei der Verwendung von SSH-Verbindungen ist die Authentifizierung mittels SSH-Schlüsseln, die sicherer und komfortabler ist als die Verwendung von Passwörtern. Das "Kopieren" des SSH-Schlüssels auf den Zielserver ist dabei notwendig, um die Verbindung ohne Passwort zu ermöglichen. Die Frage lautet also, wie man mit ConnectBot den öffentlichen SSH-Schlüssel auf einen Server überträgt, also das sogenannte "ssh-copy-id" Verfahren.
Was bedeutet "ssh-copy-id" und warum wird es benötigt?
Der Befehl ssh-copy-id ist ein Linux-Tool, das den öffentlichen Teil des SSH-Schlüssels automatisch auf den Remote-Server überträgt und dort in die Datei ~/.ssh/authorized_keys einfügt. So wird dem Server erlaubt, Verbindungen von dem privaten Schlüssel des Nutzers anzunehmen, ohne ein Passwort zu verlangen. Auf mobilen Geräten wie Smartphones gibt es diesen Befehl normalerweise nicht direkt, weshalb die manuelle Übertragung oder alternative Methoden notwendig sind.
Kann ConnectBot "ssh-copy-id" automatisch ausführen?
ConnectBot selbst bietet keine eingebaute Funktion, die die Arbeit von ssh-copy-id automatisch übernimmt. Das bedeutet, dass man den öffentlichen Schlüssel manuell extrahieren und auf den Zielserver übertragen muss. Dies wird häufig über das Kopieren des Schlüssels und das Einfügen in die entsprechende Datei auf dem Server realisiert.
Wie kann man den SSH-Schlüssel in ConnectBot erzeugen und kopieren?
Zunächst muss in ConnectBot ein SSH-Schlüsselpaar generiert werden, falls noch keines vorhanden ist. Das kann in den Einstellungen der App erfolgen. Der private Schlüssel bleibt auf dem Gerät, während der öffentliche Schlüssel für die Authentifizierung auf dem Server benötigt wird.
Der öffentliche Schlüssel kann in ConnectBot in der Schlüsselverwaltung eingesehen und kopiert werden. Alternativ befindet sich der öffentliche Schlüssel meist lokal in einem Verzeichnis, das per Datei-Manager auf dem Android-Gerät zugängig ist.
Wie wird der öffentliche Schlüssel auf den Server übertragen?
Da ConnectBot das "ssh-copy-id"-Skript nicht direkt anbietet, erfolgt die Übertragung oft manuell. Man öffnet mit ConnectBot eine Passwort-Authentifizierung auf dem Zielserver und fügt den öffentlichen Schlüssel mit einem Texteditor (wie vim oder nano) in die Datei ~/.ssh/authorized_keys ein.
Eine andere Methode besteht darin, den öffentlichen Schlüssel per E-Mail oder Cloud-Speicher auf den Server zu bringen und ihn dann zu kopieren. Wichtig ist, dass die Datei authorized_keys die richtigen Zugriffsrechte (600) besitzt, damit SSH sie akzeptiert.
Zusammenfassung
Das automatische Kopieren des SSH-Schlüssels mit ssh-copy-id ist auf mobilen Geräten wie Android mit ConnectBot nicht nativ möglich. Stattdessen muss der öffentliche Schlüssel manuell generiert, kopiert und auf den Server übertragen werden, indem man ihn in die Datei authorized_keys einfügt. Trotz des etwas höheren Aufwands ermöglicht ConnectBot so eine sichere und passwortlose SSH-Verbindung vom Smartphone aus.
