
Auf meinem Android 4.4.2-Telefon (es ist alt, kann aber nicht aktualisiert werden) läuft ein SSH-Server mit der SimpleSSHD-App. Es generiert bei jeder Anmeldung ein anderes zufälliges Passwort, was für mich als Client-Benutzer sehr unpraktisch ist. Daher würde ich gerne die Authentifizierung mit öffentlichem Schlüssel verwenden.
Zuvor habe ich ein Paar aus öffentlichen und privaten Schlüsseln generiert, um auf einen SSH-Server zuzugreifen. Ich denke, es ist in Ordnung, das Schlüsselpaar wiederzuverwenden, also kopiere ich die öffentliche Schlüsseldatei auf das Android-Telefon:
$ ssh-copy-id -p 2222 192.168.1.87
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/t/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
restorecon: invalid option -- F
usage: restorecon [-nrRv] pathname...
Danach muss ich zur Anmeldung immer noch zufällige, vom Server generierte Passwörter eingeben.
Funktioniert das Kopieren der öffentlichen Schlüsseldatei auf das Android-Telefon nicht?
In welches Verzeichnis auf dem Android-Telefon soll die öffentliche Schlüsseldatei gehen?
Danke.
Antwort1
Dies ist kein Problem mit Android. Ich glaube, die Konvention zum Eingeben von Schlüsseln ~/.ssh/authorized_keys
stammt von OpenSSH. Ich glaube nicht, dass es Teil des Standards (RFCs) ist. SimpleSSHDhat eine andere Konvention:
Schnellstart
- Installieren Sie SimpleSSHD.
Stellen Sie auf jedem Computer, der eine Verbindung zu Ihrem Android-Gerät herstellt, den Port auf 2222 ein. Mit OpenSSH können Sie dies tun, indem Sie diese Zeilen in ~/.ssh/config einfügen:
Host myphone Port 2222
Starten Sie SimpleSSHD, aktivieren Sie in den Einstellungen „Beim Booten starten“ und starten Sie es dann zum ersten Mal manuell.
- Im Home-Verzeichnis anlegen
authorized_keys
(nicht verwendenssh-copy-id
)- Optional erstellen Sie .profile
Die Schlussfolgerung hieraus ist, dass Ihre autorisierten Schlüsseldateien ~/authorized_keys
nicht sein sollten ~/.ssh/authorized_keys
.
ssh-copy-id
geht anscheinend davon aus, dass jeder Server ein OpenSSH-Server ist. Da Sie Ihren öffentlichen Schlüssel bereits mit festgelegt haben ssh-copy-id
, würde ich mich einfach anmelden und Folgendes ausführen:
mv ~/.ssh/authorized_keys ~