P89626/dropbear
Dropbear ist ein kleiner SSH Server und kann leicht auf der Box eingesetzt werden.
Homepage: http://matt.ucc.asn.au/dropbear/dropbear.html
<< zurück zur Hauptseite 'P89626'
download
Die einfachste Möglichkeit ist, Dropbear aus den Debian-Repositories zu nutzen. Alternativ kann man [1] nutzen (siehe: [2]).
- Herunterladen: http://packages.debian.org/squeeze/armel/dropbear/download
- Dateiliste des Archivs: http://packages.debian.org/squeeze/armel/dropbear/filelist
Aus dem dropbear_0.52-5_armel.deb Paket dann diese Dateien extrahieren und auf der Box unter /i-data/6764ac2f/admin/bin/ speichern:
- /usr/sbin/dropbear
- /usr/bin/dropbearkey
Dazu kann man 7-Zip nutzen.
einrichten
Auf Box per Telnet gehen und Dateien ausführbar machen:
/ # cd /i-data/6764ac2f/admin/bin/ /i-data/6764ac2f/admin/bin/ # chmod +x dropbearkey /i-data/6764ac2f/admin/bin/ # chmod +x dropbear
RSA-Schlüssel erzeugen:
/i-data/6764ac2f/admin/bin/ # ./dropbearkey -t rsa -f dropbear_rsa_host_key
Unter /i-data/6764ac2f/admin/bin/ die Datei start_dropbear.sh mit folgendem Inhalt erstellen:
#!/bin/sh set -x cd $(dirname ${0}) killall dropbear ./dropbear -I 480 -j -k -r dropbear_rsa_host_key -E
Die Datei /usr/local/zy-pkgs/etc/init.d/ZYPKG_DEPS ändern und die Zeile /i-data/6764ac2f/admin/bin/start_dropbear.sh unter # START-UP (DON'T REMOVE THIS LINE!) einfügen. Dann sollte es so aussehen:
/ # cat /usr/local/zy-pkgs/etc/init.d/ZYPKG_DEPS # Dependency for zypkgs # START-UP (DON'T REMOVE THIS LINE!) /i-data/6764ac2f/admin/bin/start_dropbear.sh /usr/local/zy-pkgs/etc/init.d/DyDNS /usr/local/zy-pkgs/etc/init.d/SMART /usr/local/zy-pkgs/etc/init.d/BackupPlanner /usr/local/zy-pkgs/etc/init.d/NFS # SHUTDOWN (DON'T REMOVE THIS LINE!) /usr/local/zy-pkgs/etc/init.d/NFS /usr/local/zy-pkgs/etc/init.d/BackupPlanner /usr/local/zy-pkgs/etc/init.d/SMART /usr/local/zy-pkgs/etc/init.d/DyDNS
Nach einem Neustart sollte der SSH Server laufen. Alternativ kann man ihn druch Aufruf von /i-data/6764ac2f/admin/bin/start_dropbear.sh (neu)starten.
- edit wachtelbauer@wachtelbauer.de
Und diesen manuellen Start sollte man auch als Erstes vor dem Neustart machen. Dann merkt man nämlich, das man vergessen hat start_dropbear.sh ausführbar zu machen. Das holt man mit chmod a+x start_dropbear.sh nach. Dann klappt's auch nach dem Neustart. (wunderbares WIKI, hat mir sehr geholfen.)
- Ende edit
Siehe auch: http://www.mikrocontroller.net/topic/240238?goto=2450224#2450214
Authentifizierung über Public-Keys
Ein Anmeldung über einen Public-Key kann man ebenfalls einrichten. Dazu z.B. eine vorgefertigte authorized_keys in /i-data/6764ac2f/admin/authorized_keys speichern. In der /i-data/6764ac2f/admin/bin/start_dropbear.sh dann die Datei nach /root/.ssh/ kopieren lassen. Dann kann man noch -s einen "password login" (was ist das?) unterbinden.
z.B.:
#!/bin/sh set -x cd $(dirname ${0}) killall dropbear mkdir -p /root/.ssh/ cp /i-data/6764ac2f/admin/authorized_keys /root/.ssh/ ./dropbear -I 480 -j -k -s -r dropbear_rsa_host_key -E
Allgemeine Information dazu findet man z.B. hier: http://wiki.ubuntuusers.de/ssh#Authentifizierung-ueber-Public-Keys
Installation eines SFTP-Servers
Der Dropbear-Server kann von Haus aus nur SSH, nicht jedoch SFTP. Hierfür kann jedoch der sftp-server aus dem openssh-server-Paket verwendet werden:
- Download: http://packages.debian.org/squeeze/armel/openssh-server/download
- Dateliste des Archivs: http://packages.debian.org/squeeze/armel/openssh-server/filelist
Aus dem openssh-server_5.5p1-6+squeeze2_armel.deb-Paket dann diese Datei extrahieren und auf der Box unter /i-data/6764ac2f/admin/bin/ speichern:
- /usr/lib/openssh/sftp-server
Blöderweise ist der Pfad zum sftp-server in der Dropbear-Datei hart gespeichert, so dass die Datei wirklich in /usr/lib liegen muss. Dafür muss das Verzeichnis aber erst mal schreibbar gemountet werden:
/i-data/6764ac2f/admin/bin/ # mount -n -o remount,rw /usr /i-data/6764ac2f/admin/bin/ # cp /i-data/6764ac2f/admin/bin/sftp-server /usr/lib /i-data/6764ac2f/admin/bin/ # mount -n -o remount,ro /usr
Nach einem Neustart sollte nun auch SFTP (nicht zu verwechseln mit SCP) zur Verfügung stehen.