Trước tiên, tôi biết loại câu hỏi này đã được hỏi rất nhiều và tôi đã thử rất nhiều giải pháp ở đây và trên SuperUser nhưng không có giải pháp nào hiệu quả và tôi không thể tìm ra lý do tại sao.
Tôi muốn định cấu hình ssh của mình để chỉ chấp nhận đăng nhập bằng khóa ngoại trừ một người dùng chỉ có thể đăng nhập bằng sftp (không có quyền truy cập ssh cli, nếu có thể, tôi không chắc)
Đây là cấu hình của tôi
Cho phép người dùng người dùng1 người dùng2
Đăng nhậpGraceTime 0
PubkeyAuthentication có
AuthorizedKeysFile %h/.ssh/authorized_keys
Mật khẩu Xác thực không
ChallengeResponseXác thực không
Sử dụngPAM có
X11Chuyển tiếp có
Hộp cát UsePrivilegeSeparation
ClientAliveInterval 120
Hệ thống con sftp nội bộ-sftp
Kết hợp nhóm sftpusers
ChrootDirectory /home/%u
ForceCommand nội bộ-sftp
Khớp người dùng người dùng2
Xác thực mật khẩu có
ChrootDirectory /home/%u
Khi tôi cố gắng đăng nhập bằng FileZilla bằng SFTP, tôi có nhật ký này
Trạng thái: Đang kết nối với *my_server_ip*:*my_ssh_port*...
Phản hồi: fzSftp đã bắt đầu, protocol_version=11
Lệnh: mở "user2@*my_server_ip*" *my_ssh_port*
Trạng thái: Đang sử dụng tên người dùng "user2".
Lệnh: Pass: ************
Lỗi không thể kết nối đến máy chủ
Khi tôi cố gắng kết nối với ssh
ssh user2@*my_server_ip* -p *my_ssh_port*
mật khẩu của user2@*my_server_ip*:
client_loop: gửi ngắt kết nối: Đặt lại kết nối
Tôi có thể kết nối tốt với user1 bằng pubkey nhưng tôi không thể khiến user2 có thể đăng nhập bằng mật khẩu