Benutzerverwaltung

SCP/SFTP User in einer Chroot ohne Shell Anmeldung

Falls noch nicht geschehen benötigt ihr eine Linux Gruppe. In diese werden die Benutzer mit aufgenommen, die SCP/SFTP ohne SSH Zugriff nutzen sollen.

groupadd sftp

Damit die Benutzer sich am SSH Daemon anmelden können und diese Session in einer CHROOT landen, passen wir als erstet die sshd_config an.

#/etc/ssh/sshd_config

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
 
Match Group sftp
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no

Danach den SSHD Dienst durchstarten. Unter Debian/Ubuntu wie folgt

systemctl restart sshd

Jetzt fehlt nur noch ein SCP/SFTP Benutzer. Den legt ihr wie folgt an.

mkdir -p /path/to/home/dir
useradd -d /path/to/home/dir -s /bin/false -G sftp sftptest
passwd sftptest

Das Homedirectory benötigt für diese Anforderung eine ungewöhnliche Berechtigung. Hier muss der User root Besitzer sein. Ansonsten funktioniert der Login nicht. Das hochladen einer Datei ist nur in einem unterordner möglich

chown root:root /home/sftptest/
chmod 0755 /home/sftptest/
mkdir /home/sftptest/uploads
chown sftptest:sftp /home/sftptest/uploads