Nur so eine Idee: Verbindugen via sftp werden für gewöhnlich vom OpenSSH-Server verwaltet wohingegen, soweit ich das erkennen kann, Vsftpd nur ftp-Verbindungen handhabt. Könnte hier das Problem bei dir liegen?
Ich will das nochmal bekräftigen:
SFTP, daraus:
Das SSH File Transfer Protocol oder Secure File Transfer Protocol (SFTP) ist eine für die Secure Shell (SSH) entworfene Alternative zum File Transfer Protocol (FTP), die Verschlüsselung ermöglicht.
Mit anderen Worten: SFTP und FTP haben nichts miteinander zu tun.
Ich hatte anfangs auch das Problem, dass chroot_local_user nicht funktioniert hat. Dafür musste ich eine Änderung in der /etc/ssh/sshd_config vornehmen.
chroot_local_user ist eine Option von vsftpd. Du hast den SSH-Server so konfiguriert, dass er sich ähnlich verhält wie der vsftpd bei Anwendung der Option chroot_local_user.
Heute wollte ich einen Port in der Fritz!Box freigeben, um von außen auf sftp zugreifen zu können.
FTP wird ja nicht einfach zu SFTP, nur, weil du einen Port freigibst.
Habe ich da was verkehrt eingestellt oder ist das tatsächlich so, dass die "userlist" nicht bei sftp funktioniert?
Nein, ist tatsächlich so, weil die SFTP mit FTP nichts zu tun hat und die Konfiguration von vsftpd demzufolge nichts mit dem dem des sshd.
Wenn ja, gibt es noch eine andere Möglichkeit, nur bestimmte sftp Benutzer freizugeben?
Ja, siehe
man sshd_config
Daraus z.B. folgendes. Gibt es auch mit AllowUsers/AllowGroups. Daraus wird sich was machen lassen. Du könntest z.B. nur zwei Gruppen zulassen. Eine, der du angehörst, bekommt auch Shell-Zugang, die andere wird von internal-sftp behandelt.
DenyGroups
This keyword can be followed by a list of group name patterns, separated by spaces. Login is disallowed for users whose primary group or supplementary group list
matches one of the patterns. Only group names are valid; a numerical group ID is not recognized. By default, login is allowed for all groups. The allow/deny
directives are processed in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.
See PATTERNS in ssh_config(5) for more information on patterns.
DenyUsers
This keyword can be followed by a list of user name patterns, separated by spaces. Login is disallowed for user names that match one of the patterns. Only user
names are valid; a numerical user ID is not recognized. By default, login is allowed for all users. If the pattern takes the form USER@HOST then USER and HOST
are separately checked, restricting logins to particular users from particular hosts. The allow/deny directives are processed in the following order: DenyUsers,
AllowUsers, DenyGroups, and finally AllowGroups.