Cách bật SFTP mà không cần quyền truy cập Shell trên Ubuntu 20.04

Tóm tắt nội dung

SFTP là viết tắt của SSH File Transfer Protocol và là một cách an toàn để truyền tệp giữa các máy bằng kết nối SSH được mã hóa. Mặc dù có tên giống nhau, đây là một giao thức khác với FTP ( File Transfer Protocol ), nhưng SFTP được hỗ trợ rộng rãi bởi các máy khách FTP hiện đại.

SFTP có sẵn theo mặc định mà không cần cấu hình bổ sung trên tất cả các máy chủ có bật quyền truy cập SSH. Mặc dù nó an toàn và khá dễ sử dụng, một nhược điểm của SFTP là trong cấu hình tiêu chuẩn, máy chủ SSH cấp quyền truy cập truyền tệp và quyền truy cập trình bao đầu cuối cho tất cả người dùng có tài khoản trên hệ thống. Trong nhiều trường hợp, sẽ an toàn hơn nếu áp dụng kiểm soát chi tiết đối với quyền của người dùng. Ví dụ: bạn có thể muốn cho phép một số người dùng chỉ thực hiện truyền tệp, nhưng ngăn họ truy cập thiết bị đầu cuối vào máy chủ qua SSH.

Hướng dẫn:

Tạo người dùng mới:

Đầu tiên, hãy tạo một người dùng mới, người này sẽ chỉ được cấp quyền truy cập truyền tệp đến máy chủ.

# sudo adduser cloudvietfile

Bạn sẽ được nhắc tạo mật khẩu cho tài khoản, sau đó là một số thông tin về người dùng.

Tạo thư mục truyền tệp:

Để hạn chế quyền truy cập SFTP vào một thư mục, trước tiên bạn phải đảm bảo thư mục đó tuân thủ các yêu cầu về quyền của máy chủ SSH

Tạo các thư mục:

# sudo mkdir -p /var/sftp/uploads

Đặt /var/sftp thành root :

# sudo chown root:root /var/sftp

Cấp quyền ghi root cho cùng một thư mục và chỉ cấp cho người dùng khác quyền đọc và thực thi:

# sudo chmod 755 /var/sftp

Thay đổi quyền sở hữu trên thư mục uploads thành người dùng bạn vừa tạo bằng lệnh sau:

# sudo chown cloudvietfile:cloudvietfile /var/sftp/uploads

Bây giờ cấu trúc thư mục đã có, bạn có thể tự cấu hình máy chủ SSH.

Hạn chế quyền truy cập vào 1 thư mục:

Mở tệp cấu hình máy chủ SSH:

# sudo nano /etc/ssh/sshd_config

Cuộn xuống cuối tệp và thêm đoạn code cấu hình sau:

Match User cloudvietfile
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Sau đó lưu lại và đóng tệp cấu hình. Khởi động lại dịch vụ:

# sudo systemctl restart sshd

Xác minh cấu hình:

Trước tiên, hãy thử đăng nhập vào máy chủ của bạn với tư cách là người dùng bạn đã tạo . Do cài đặt bạn đã thêm vào tệp cấu hình SSH, điều này sẽ không thể thực hiện được:

# ssh cloudvietfile@192.1.100.1

Tiếp theo, hãy xác minh xem người dùng có thể truy cập thành công SFTP để chuyển tệp hay không:

# sftp cloudvietfile@192.1.100.1

Liệt kê 1 số thư mục:

# ls

Phần cuối:

Ở trên mình đã hướng dẫn cách bật SFTP mà không cần quyền truy cập Shell trên Ubuntu 20.04

Nguồn:digitalocean

Logo Cloud Việt

Thông Tin Và Hoạt Động Của Chúng Tôi

Cloud Việt là đơn vị cung cấp dịch vụ TTDL uy tín tại Việt Nam. Với tiêu chí là đặt quyền lợi và trải nghiệm của khách hàng lên hàng đầu để  đem đến dịch vụ tốt nhất.

Trụ sở chính

110/20/41 đường số 30, phường 6, quận Gò Vấp, TPHCM

Ngày làm việc

Thứ 2 - Thứ 6, Hàng tuần

Giờ làm việc

08 : 00 AM - 18 : 00 PM

Email

Support@cloudviet.com.vn

Hotline

0972 710 812