sftp-Server mit ProFTPd bereitstellen:

Eine Anforderung war einen sftp-Server mit Authentifizierung über einen Public-Key (vom Clients-System) zu realisieren.

Installation von Proftpd

apt-get update
apt-get install proftpd

In der Konfiguration (/etc/proftpd/proftpd.conf) Folgendes anpassen:

ServerName "sftp.example.net"
DefaultRoot ~

Im Anschluss wird eine neue Datei unter /etc/proftpd/conf.d/stfpd.conf mit folgendem Inhalt angelegt:

<IfModule mod_sftp.c>

        SFTPEngine on
        # If you want your SFTP server on a different port, change the following
        # line accordingly
        Port 2222

        # Log file
        SFTPLog /var/log/proftpd/sftp.log

        # Configure both the RSA and DSA host keys, using the same host key
        # files that OpenSSH uses.
        SFTPHostKey /etc/ssh/ssh_host_rsa_key
        SFTPHostKey /etc/ssh/ssh_host_dsa_key

        SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u

        # Enable compression
        SFTPCompression delayed

        # Default is: publickey password
        SFTPAuthMethods publickey

</IfModule>

Jetzt legt man einen Ordner an, wo die PublicKeys abgespeichert werden.
mkdir /etc/proftpd/authorized_keys

Anschließend proftpd neu starten
service proftpd restart
Anlegen eine Benutzers mit SSH-Key:
useradd ftpuser -m -s /bin/bash
sudo -u ftpuser ssh-keygen -t rsa
Beim Assistenten die Abfragen bestätigen und ohne Passpghrase weiter bestätigen.

Jetzt wirde der vorher generierte Benutzer-Key in ein konformes Format (RFC4716) konvertiert und in das entsprechende Verzeichnis des Benutzers kopiert:

Dies kann mit beliebig vielen Benutzern geschehen.
Alternativ kann hier auch ein bestehender Private-Key eines Client(-Servers) genommen werden - hier wird einfach der Inhalt der Datei id_sa.pub entsprechend mit dem Key des Client-(Servers) ersetzt und im Anschluss konvertiert.

ssh-keygen -e -f ~ftpuser/.ssh/id_rsa.pub | tee /etc/proftpd/authorized_keys/ftpuser
Abschließend sollte der proftpd Dienst noch neu gestartet werden:
service proftpd restart
Nun kann eine Verbindung mit einem entsprechenden Client oder Software aufgebaut werden (Port 2222 beachten)
© 2024 ziggymania.de Designed S.Wommer
Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.