Tôi đang cố gắng cách ly một số người dùng khỏi những người dùng khác, điều này yêu cầu sử dụng ảo hóa hoặc bỏ tù. Hiện tại tôi đã bỏ tù, hầu hết hoạt động tốt, ngoại trừ một vấn đề duy nhất: người dùng đã chroot không thể sử dụng xác thực khóa pub/priv.
Theo như tôi hiểu, máy chủ SSH hoạt động như thế này:
- Xác thực người dùng thông qua cặp khóa riêng tư/pub bằng cách xem xét
$HOME/.ssh/authorized_keys
và $HOME/.ssh/ủy quyền_keys2
.
- Nếu không khớp, hãy xác thực người dùng qua mật khẩu nếu được phép, nếu không thì thất bại.
- Bỏ tù người dùng vào môi trường chroot được chỉ định bởi
Thư mục Chroot
.
- Tạo môi trường shell cụ thể.
- Di chuyển người dùng đến
$HOME
nếu có thể.
Vì $HOME của tôi nằm trong chroot, nên có cách nào để thực hiện công việc này mà không yêu cầu các thư mục người dùng liên kết mềm vào các vị trí không phải chroot dự kiến của họ không? Dưới đây là các tập tin cấu hình của tôi.
/etc/ssh/sshd_config
Giấy phépRootĐăng nhập không
ChallengeResponseXác thực không
Sử dụngPAM có
X11Chuyển tiếp có
PrintMotd không
Chấp nhậnEnv LANG LC_*
Hệ thống con sftp internal-sftp -f AUTH -l VERBOSE
Những người có vấn đề về Match Group
ChrootDirectory /srv/chroot/users/
X11Chuyển tiếp có
AllowTcpForwarding có
Giấy phépTTY có
/etc/schroot/chroot.d/problemusers.conf
[người giải quyết vấn đề]
description=Debian Ổn định cho Người dùng có vấn đề
loại = thư mục
thư mục =/srv/chroot/người dùng
root-users=uroot
người dùng=uroot,amongus,srb2k
/etc/fstab
# Hệ thống
UUID=a53ea27c-390d-4cbb-8fb1-ab152d42c335 không hoán đổi sw 0 0
UUID=fdcb2dd1-ca79-49f3-a226-81523665448c / lỗi ext4=remount-ro 0 1
UUID=68A0-5674 /boot/efi vfat umask=0077 0 1
# chroot: 'người giải quyết vấn đề'
UUID=89fdd6a5-77b6-4333-8e19-2cfc93974368 /srv/chroot/users btrfs mặc định 0 1