P89626/dropbear

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

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]).

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.

        1. 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.)

        1. 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:

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.

<< zurück zur Hauptseite 'P89626'