„Dropbear is a relatively small SSH 2 server and client. […] Dropbear is particularly useful for „embedded“-type Linux (or other Unix) systems, such as wireless routers.“ http://matt.ucc.asn.au/dropbear/dropbear.html
Dropbear ist ein SSH Server und Client + SCP. Es gibt zwei Pakete: dropbear Server, Client und scp und ein auf den dropbear Server beschränktes Paket. Dropbear wurde so modifiziert, dass nur root Logins erlaubt sind.
# ssh user@host user@host's password:
# scp [user@host:]file_to_copy [user@host:]target_path user@host's password: file_to_copy 100% 20KB/s 00:10
# ssh user@host Authenticating with public key "rsa-key-XXXXXXXX"
# scp [user@host:]file_to_copy [user@host:]target_path Authenticating with public key "rsa-key-XXXXXXXX" file_to_copy 100% 20KB/s 00:10
dropbear -?
Das ist die Standardeinstellung im Dropbear. Ohne weitere Einstellungen kann die Fritzbox folgendermaßen über SSH erreicht werden:
# ssh root@fritz.box\\ root@fritz.box's password: fritzbox
# ssh root@fritz.box\\ root@fritz.box's password: freetz
Session/Host Name: fritz.box
Session/Port: 22 (bzw. die Einstellung unter Pakete, Dropbear)Session/Protocol: SSH Connection/Data/Auto-login username: rootSession, Saved Sessions beliebigen Namen (z.B. fritzbox ssh) eingeben und Save drücken. Ab sofort kann dann per Doppelklick auf den Namen die Verbindung aufgebaut werden (oder die Einstellungen mit Load geladen werden)Openroot@fritz.box's password: fritzboxWichtig: Bei den neuen freetz Paketen ist das Standard root Passwort nicht mehr fritzbox, sondern freetz und muss nach dem ersten Einloggen geändert werden.
ssh-keygen, alle Abfragen mit Enter bestätigencat ~/.ssh/id_rsa.pubcat kopieren Einstellungen, Authorized keys wechselnÜbernehmenssh-keygen ausgeführt worden ist ssh root@fritz.box ssh-keygen ausgeführt worden ist ssh-keygen als user1@pc1 ausgeführt, man möchte jetzt jedoch als user2@pc2 Zugang über SSH auf die Fritzbox erhalten, liegt das Problem darin, dass Dropbear user2@pc2 nicht kennen kann. Deshalb braucht user2 einen Ausweis, den ssh-keygen standardmäßig im Heimatverzeichnis von user1 ~/.ssh/id_rsa ablegt und user2 zugänglich gemacht werden muss. id_rsa kann dann beliebig umbenannt werden. Zum Einloggen über SSH auf die Fritzbox kann nun über ssh -i PfadZumIdentityFile root@fritz.box erfolgen (z.B. ssh -i id_rsa root@fritz.box). puttygen startenKey/Generate Key PairPublic Key for pasting into … Key komplett kopierenSave Private Key, Warnung übergehen und in einem beliebigem Verzeichnis mit beliebigem Namen speichernEinstellungen, Authorized keys wechselnÜbernehmenputty startenSession/Host Name: fritz.box
Session/Port: 22 (bzw. die Einstellung unter Pakete, Dropbear)Session/Protocol: SSH Connection/Data/Auto-login username: root Connection/SSH/Auth/Private key file for authentication: Pfad zum vorher gespeichertem Private KeySession, Saved Sessions beliebigen Namen (z.B. fritzbox ssh) eingeben und Save drücken. Ab sofort kann dann per Doppelklick auf den Namen die Verbindung aufgebaut werden (oder die Einstellungen mit Load geladen werden)OpenFreetz legt automatisch beim ersten Systemstart einen RSA und DSS private key für die Fritzbox an. Diese liegen in /var/mod/etc/ssh/als dss_host_key und rsa_host_key mit einem symlink zu /tmp/flash. Um nun auf einen anderen Rechner per host-based authentication zugreifen zu können, ist erst einmal der public key nötig, den man mit
# dropbearkey -f /tmp/flash/rsa_host_key -yzB für den RSA key, auf dem Terminal ausgegeben bekommt. Diesen dann in die 'authorized_keys' Datei des anderen Rechners kopieren, wie es bei SSH üblich ist. Das Keyfile muss wie im Beispiel als Parameter angegeben werden.
# ssh -i /tmp/flash/rsa_host_key user@machineDies liefert dann einen passwortlosen Login auf 'machine' wenn dort vorher der public key hin kopiert wurde.
ssh root@fritz.box [command] bzw. ssh -i identityfile root@fritz.box [command] (z.B. ssh root@fritz.box '/var/tmp/flash/testscript.sh' zum Ausführen von /var/tmp/flash/testscript.sh)ssh root@fritz.box: Permission denied (publickey).
Falls man sich mit einem Passwort einloggen möchte, muss Password-Based Authentication aktiviert sein, was unter dem Menüpunkt Pakete, Dropbear unter Passwort Login, Aktiviert einstellen kann.
ssh root@fritz.box: The authenticity of host 'fritz.box (<deine Fritzbox IP>)' can't be established.
RSA key fingerprint is XX:XX:…:XX:XX.
Are you sure you want to continue connecting (yes/no)?
Einfach mit yes bestätigen. Wird genau dann gefragt, wenn man sich zum ersten Mal mit dem User auf die Fritzbox verbindet (bzw. der Host in ~/.ssh/known_hosts nicht bekannt ist).
ssh root@fritz.box: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is XX:XX:…:XX:XX.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
…
Einfach die ~/.ssh/known_hosts löschen (wird automatisch neu angelegt), oder die ~/.ssh/known_hosts öffnen und entsprechende Zeile, wo fritz.box erwähnt wird, löschen. Beim nächsten Verbindungsversuch erscheint die oben erwähnte Warnung über eine Unsicherheit über die Authentizität des Hosts, einfach mit yes bestätigen.