Încerc să izolez anumiți utilizatori de alți utilizatori, ceea ce necesită utilizarea fie a virtualizării, fie a închisorii. Momentan, am trecut cu închisoarea, care funcționează în cea mai mare parte bine, cu excepția unei singure probleme: utilizatorii chrootati nu pot folosi autentificarea cu cheie pub/priv.
Din câte am înțeles, serverul SSH funcționează astfel:
- Autentificați utilizatorul prin perechea de chei priv/pub examinând
$HOME/.ssh/authorized_keys
și $HOME/.ssh/authorized_keys2
.
- Dacă nu se potrivește, autentificați utilizatorul prin parolă dacă este permis, altfel eșuați.
- Închideți utilizatorul în mediul chroot specificat de
ChrootDirectory
.
- Creați mediul shell specific.
- Mutați utilizatorul în
$HOME
dacă este posibil.
Deoarece $HOME meu se află în interiorul chroot-ului, există o modalitate de a face acest lucru care să nu necesite legături soft-directoare de utilizatori în locurile lor așteptate non-chroot? Mai jos sunt fișierele mele de configurare.
/etc/ssh/sshd_config
PermitRootLogin nr
ChallengeResponseAuthentication nr
Folosește PAM da
X11 Redirecționare da
PrintMotd nr
AcceptEnv LANG LC_*
Subsistem sftp intern-sftp -f AUTH -l VERBOSE
Potriviți utilizatorii cu probleme de grup
ChrootDirectory /srv/chroot/users/
X11 Redirecționare da
AllowTcpForwarding da
PermisTTY da
/etc/schroot/chroot.d/problemusers.conf
[problematori]
description=Debian Stable pentru utilizatorii problematici
tip=director
directory=/srv/chroot/users
root-users=uroot
utilizatori=uroot,amongus,srb2k
/etc/fstab
# Sistem
UUID=a53ea27c-390d-4cbb-8fb1-ab152d42c335 nici unul swap sw 0 0
UUID=fdcb2dd1-ca79-49f3-a226-81523665448c / ext4 errors=remount-ro 0 1
UUID=68A0-5674 /boot/efi vfat umask=0077 0 1
# chroot: 'problemusers'
UUID=89fdd6a5-77b6-4333-8e19-2cfc93974368 /srv/chroot/users btrfs defaults 0 1