Ich bin nicht immer so konsequent aufzuschreiben was ich so auf meinem Server mache. Bei Neuinstallationen oder ähnlichem muss ich dann manche Sachen immer wieder nachschlagen...
Da [Schenklkopfer *(extern)*](https://chaos.social/@schenklklopfer) [hier *(extern)*](https://chaos.social/@schenklklopfer/112514806811978790) im Fediverse nach einer Lösung gesucht hat ssh user in ein chroot zu sperren hab ich gedacht ich schreib da mal meine Vorgehensweise nieder.
Nachdem jetzt alles vorbereitet ist müssen wir */etc/ssh/sshd_config* noch anpassen.
Dazu ändern wir das Subsystem (wenn es nicht schon so ist) auf *internal-sftp*.
```
# override default of no subsystems
Subsystem sftp internal-sftp
```
Am Ende fügen wir eine Abfrage nach der Gruppe hinzu und schicken alle user die in der gruppe *sftp* sind ins chroot-Verzeichnis.
```
Match Group sftp
ChrootDirectory /home/shared/%u
ForceCommand internal-sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
```
Es kann auch ein extra Port angegeben werden. Dies finde ich vor allem sehr interessant, wenn der share z.B. im Heimnetzwerk läuft und ins Internet freigegeben werden soll aber kein sshlogin möglich sein muss. So kann der extra Port am Router freigegeben werden und der normale Port wird nicht weitergeleitet.
Dazu muss ganz oben in der *sshd_config* noch ein zweiter Port hinzugefügt werden.
```
Port 22
Port 2222
```
Dieser kann nun unten zusätzlich abgefragt werden.
```
Match LocalPort 2222 Group sftp
ChrootDirectory /home/shared/%u
ForceCommand internal-sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
```
Jetzt muss der sshd server einmal neugestartet werden damit die Änderungen übernommen werden.
Falls ihr euch nicht per keyfile einloggen könnt, dann sollten die Verzeichnisberechtigungen nochmal kontrolliert werden.