NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
06/06/2023
Lượt xem

Hướng dẫn bật SFTP mà không cần truy cập shell trên Ubuntu 20.04

06/06/2023
12 phút đọc
Lượt xem

Đánh giá

5/5 - (87 bình chọn)

SFTP là một giao thức truyền dữ liệu khá phổ biến thông qua mạng máy tính một cách an toàn. Để có thể sử dụng SFTP mà không cần truy cập shell trên Ubuntu 20.04, mời bạn cùng tìm hiểu chi tiết trong bài viết hướng dẫn cách bật SFTP mà không cần truy cập shell trên Ubuntu 20.04 dưới đây của Vietnix.

Giới thiệu chung

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

Giao thức SFTP là gì?
Giao thức SFTP là gì?

SFTP mặc định có sẵn mà không cần bất kì cấu hình bổ sung nào ở tất cả các server với quyền truy cập SSH được kích hoạt. Mặc dù giao thức này an toàn và khá dễ sử dụng, nhưng có một nhược điểm là trong cấu hình chuẩn, SSH server cấp quyền truyền file và quyền truy cập trên terminal shell 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, việc áp dụng granular control (kiểm soát chi tiết) đối với quyền của người dùng sẽ an toàn hơn. Ví dụ: Bạn muốn cho phép một vài người dùng chỉ được truyền file, nhưng ngăn họ truy cập vào server thông qua SSH thì thiết lập quyền mặc định sẽ không phù hợp. Lúc này, bạn sẽ tiến hành cài đặt SSH daemon để giới hạn truy cập SFTP vào một thư mục và không cho phép toàn quyền truy cập SSH ở từng người dùng.

Yêu cầu để bật SFTP mà không cần truy cập shell trên Ubuntu 20.04

Để thực hiện bài hướng dẫn này, trước tiên bạn cần có một Ubuntu 20.04 server bao gồm một tài khoản non-root có đặc quyền sudo và tường lửa được cấu hình.

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

Đầu tiên, bạn sẽ tạo một người dùng mới chỉ có quyền truyền file đến server. Bạn có thể đặt tên cho username bất kỳ, trong bài viết này sẽ sử dụng username là vietnixfiles:

sudo adduser vietnixfiles

Bạn sẽ nhận được thông báo tạo mật khẩu cho tài khoản, sau đó là một số thông tin về người dùng. Những thông tin này không bắt buộc vì thế bạn có thể nhấn Enter để bỏ qua các trường thông tin này.

Hiện tại, bạn đã tạo được tài khoản với các quyền truy cập vào các thư mục hạn chế. Bước tiếp theo sẽ tiến hành tạo thư mục để thực hiện việc truyền file và cài đặt các quyền cần thiết.

Bước 2: Tạo thư mục cho việc truyền file

Để 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 cụ thể về quyền của máy chủ SSH.

Cụ thể, thư mục này và tất cả các thư mục trước đó trong cây thư mục hệ thống phải được sở hữu bởi root và không được phép ghi bởi bất kỳ ai khác. Nếu thư mục hệ thống sở hữu bởi chính người dùng thì việc cấp quyền truy cập giới hạn là không thể.

Lưu ý: Một số phiên bản của OpenSSH không có các yêu cầu nghiêm ngặt về cấu trúc thư mục và quyền sở hữu, nhưng hầu hết các bản phân phối Linux hiện tại (bao gồm Ubuntu 20.04) đều có.

Có nhiều cách để xử lí các vấn đề sở hữu này. Trong bài hướng dẫn này, bạn sẽ tạo và sử dụng thư mục /var/sftp/uploads là nơi chứa các file tải lên. /var/sftp sẽ được sở hữu bởi root và không được phép ghi bởi các người dùng khác. Còn thư mục con /var/sftp/uploads sẽ được sở hữu bởi vietnixfiles nên người dùng đó có thể tải các file lên thư mục này.

Đầu tiên, tiến hành tạo thư mục:

sudo mkdir -p /var/sftp/uploads

Thiết lập root là chủ sở hữu của /var/sftp:

sudo chown root:root /var/sftp

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

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:

sudo chown vietnixfiles:vietnixfiles /var/sftp/uploads

Đến đây, cấu trúc thư mục đã được tạo và bạn đã có thể tự cấu hình SSH server.

Nếu bạn đang muốn kích hoạt SFTP trên Ubuntu 20.04 mà không cần truy cập shell nhưng chưa có máy chủ thì có thể tham khảo các gói VPS của Vietnix.

Với máy chủ ảo (VPS) tại Vietnix, việc truyền tải tập tin an toàn qua mạng với SFTP trở nên đơn giản và bảo mật hơn. Vietnix cung cấp các gói VPS có cấu hình linh hoạt, đảm bảo hiệu suất cao và tin cậy cho dự án của bạn như VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS NVMe, VPS GPU.

Sử dụng dịch vụ VPS của Vietnix, bạn sẽ được trải nghiệm tốc độ nhanh chóng và độ ổn định cao. Đội ngũ kỹ thuật chuyên môn cao của Vietnix sẵn sàng hỗ trợ bạn 24/7 trong quá trình kích hoạt SFTP cũng nhưu các vấn đề kỹ thuật khác.

Đừng chần chừ, hãy liên hệ với Vietnix để tìm hiểu thêm và lựa chọn gói VPS phù hợp nhất cho dự án của bạn.

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

Ở bước này, bạn sẽ sửa đổi cấu hình SSH server để giới hạn vietnixfiles không được truy cập vào terminal nhưng vẫn được phép truyền file.

Mở file cấu hình của SSH server bằng nano hoặc bất kỳ trình chỉnh sửa nào của bạn:

sudo nano /etc/ssh/sshd_config

Cuộn xuống cuối file và thêm đoạn code sau:

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

Chi tiết về mỗi dòng lệnh trên :

  • Match User yêu cầu SSH server áp dụng các lệnh sau cho người dùng được chỉ định. Ở đây chính là vietnixfiles hoặc tên người dùng của riêng bạn.
  • ForceCommand internal-sftp buộc SSH server chạy SFTP server khi đăng nhập, và không cho phép truy cập shell.
  • PasswordAuthentication yes cho phép xác thực mật khẩu cho người dùng.
  • ChrootDirectory /var/sftp/ đảm bảo rằng người dùng sẽ không được phép truy cập vào bất cứ thứ gì ngoài thư mục /var/sftp.
  • AllowAgentForwarding no, AllowTcpForwarding noX11Forwarding no lần lượt vô hiệu hóa tính năng port forwarding (chuyển tiếp port), tunneling (tạo đường hầm) và X11 forwarding (chuyển tiếp X11). Mục đích của việc thêm các lệnh này là để hạn chế hơn nữa quyền truy cập của người dùng vào máy chủ.

Tập lệnh này, bắt đầu với Match User, có thể được sao chép và lặp lại cho những người dùng khác nhau. Hãy nhớ sửa đổi tên người dùng ở dòng Match User cho phù hợp.

Lưu ý: Bạn có thể bỏ qua dòng PasswordAuthentication yes và thiết lập quyền truy cập SSH key để tăng cường bảo mật. Cần đảm bảo thực hiện việc này trước khi vô hiệu hóa quyền truy cập shell cho người dùng. Bước tiếp theo sẽ kiểm tra cấu hình bằng cách truy cập bằng mật khẩu vào SSH cục bộ. Tuy nhiên nếu thiết lập SSH key, bạn sẽ cần quyền truy cập vào máy tính bằng key pair của người dùng.

Sau khi thêm những dòng này, hãy lưu và đóng file. Nếu sử dụng nano bạn có thể nhấn tổ hợp phím CTRL + X, nhấn Y, rồi nhấn ENTER.

Tiến hành khởi động lại để áp dụng những thay đổi trên bằng cách:

sudo systemctl restart sshd

Hiện tại, bạn đã cấu hình SSH server để hạn chế quyền truy cập cho vietnixfiles. Ở bước cuối cùng, bạn sẽ kiểm tra cấu hình để đảm bảo hoạt động như ý muốn.

Bước 4: Xác minh cấu hình

Hãy đảm bảo rằng người dùng vietnixfiles chỉ có quyền truyền file. Như đã đề cập trước, SFTP được sử dụng để truyền file giữa các thiết bị. Bạn có thể xác minh hoạt động này bằng cách kiểm tra quá trình chuyển đổi giữa thiết bị cục bộ và server của bạn.

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

ssh vietnixfiles@your_server_ip

Bạn sẽ nhận được thông báo sau:

Output This service allows sftp connections only. Connection to your_server_ip closed.

Điều này có nghĩa là vietnixfiles không thể truy cập vào server shell bằng SSH. Tiếp theo, hãy xác minh xem người dùng có thể truy cập thành công SFTP để truyền file hay không:

sftp vietnixfiles@your_server_ip

Thay vì thông báo lỗi, lệnh này sẽ tạo thông báo đăng nhập thành công như sau:

Output Connected to your_server_ip sftp>

Bạn có thể liệt kê nội dung thư mục bằng ls như sau:

ls

Thao tác này sẽ hiển thị thư mục uploads đã được tạo trước đó và đưa bạn trở lại với sftp>:

Output uploads

Để xác minh rằng người dùng thực sự bị giới hạn trong thư mục này và không thể truy cập vào bất kỳ thư mục nào trước đó, hãy thử thay đổi thư mục về thư mục trước như sau:

cd ..

Lệnh này sẽ không báo lỗi nhưng sẽ liệt kê các nội dung thư mục như trước mà không hề thay đổi, chứng tỏ rằng người dùng không thể chuyển sang thư mục cha. Và bây giờ bạn đã xác minh được rằng cấu hình đã hạn chế quyền hoạt động như dự kiến. Người dùng vietnixfiles chỉ có thể truy cập server bằng cách sử dụng giao thức SFTP để truyền tệp và không có khả năng truy cập vào shell.

Vietnix là nhà cung cấp VPS hàng đầu tại Việt Nam với hơn 11 năm kinh nghiệm. Trong quá trình hoạt động, Vietnix đã được hơn 50.000 khách hàng tin tưởng lựa chọn, bao gồm iVIVU.com, Vietnamwork, KINGFOOD, UBGroup, GTV,… và nhiều khách hàng khác.

Với hơn 100.000 dịch vụ VPS đã được kích hoạt và 97% khách hàng đánh giá 5 sao chính là chứng minh về chất lượng dịch vụ vượt trội của Vietnix.

Năm 2022, Vietnix đã nhận giải thưởng thương hiệu Việt Nam xuất sắc, càng khẳng định vị thế dẫn đầu của Vietnix trên thị trường.

Với kinh nghiệm và uy tín đã có, Vietnix là lựa chọn hàng đầu cho các doanh nghiệp và cá nhân có nhu cầu sở hữu dịch vụ VPS chất lượng. Hãy trải nghiệm dịch vụ VPS tốc độ cao của Vietnix ngay hôm nay.

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn

Lời kết

Như vậy với hướng dẫn về cách bật SFTP mà không cần truy cập shell trên Ubuntu 20.04 này, bạn đã hạn chế quyền truy cập SFTP của người dùng và chỉ cho phép họ vào một thư mục duy nhất trên server mà không cần truy cập vào shell. Cảm ơn bạn đọc bài hướng dẫn của Vietnix, hãy cùng chia sẻ bài viết đến mọi người để cùng nhau trau dồi thêm kiến thức và đừng quên theo dõi những bài viết tiếp theo để cập nhật những kiến thức mới nhất về SFTP, SSH nhé.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG