Cách cài đặt máy chủ SFTP trong Ubuntu

Tác giả Network Engineer, T.Mười 22, 2021, 09:10:37 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt máy chủ SFTP trong Ubuntu


Bảo mật dữ liệu và mã hóa thông tin xác thực là các quy tắc quan trọng đối với quản trị hệ thống. FTP (Giao thức truyền tập tin) rất tốt để truyền tập tin, nhưng nó không an toàn bằng khi sử dụng qua mạng. Bằng cách sử dụng giao thức này, dữ liệu và thông tin đăng nhập của bạn được chuyển mà không cần bất kỳ phương pháp mã hóa nào.

SFTP, viết tắt là Giao thức truyền tập tin an toàn, được sử dụng để cung cấp bảo mật tốt hơn. SFTP hoạt động trên giao thức SSH bằng cách cung cấp mã hóa cần thiết để thiết lập kết nối an toàn. Do đó, bạn có thể chuyển dữ liệu đến hoặc từ hệ thống máy tính cục bộ của mình một cách an toàn. Do đó, giao thức truyền tập tin an toàn (SFTP) an toàn hơn giao thức truyền tập tin đơn giản (FTP).

Đôi khi, bạn có thể cần cung cấp quyền truy cập từ xa vào máy chủ SFTP / FTP cho các nhóm phát triển hoặc các ứng dụng khách khác. Trong trường hợp này, SFTP cho phép bạn cung cấp quyền truy cập giới hạn an toàn vào các thư mục và tập tin cụ thể.

Bài viết hôm nay sẽ khám phá cách cấu hình hoặc thiết lập máy chủ SFTP thông qua SSH trên hệ thống Ubuntu 20.04 bằng phương pháp dòng lệnh. Mình sẽ xem cách người dùng SFTP cho phép các quyền hạn chế đối với một thư mục cụ thể cho những người khác.

1. Cài đặt và cấu hình SSH.

Như mình đã đề cập trước đó, SFTP hoạt động qua SSH. Vì vậy, trước tiên, bắt buộc phải cài đặt SSH trên Ubuntu 20.04. Nếu bạn chưa cài đặt SSH trên hệ thống Ubuntu của mình, hãy cài đặt nó bằng cách chạy lệnh apt sau:

Mã nguồn [Chọn]
$ sudo apt install ssh

1.1. Thay đổi cấu hình SSHD cho nhóm SFTP.

Sau khi cài đặt SSH, bạn cần thay đổi tập tin cấu hình SSHD '/etc/ssh/sshd_config'. Vì vậy, hãy sử dụng trình chỉnh sửa nano hoặc bất kỳ trình chỉnh sửa nào khác để mở tập tin cấu hình này như sau:

Mã nguồn [Chọn]
$ sudo nano /etc/ssh/sshd_config

Bây giờ, hãy dán các dòng sau vào cuối hoặc cuối tập tin:

Mã nguồn [Chọn]
Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp


Cấu hình trên sẽ cho phép nhóm người dùng sftp truy cập vào thư mục chính của họ thông qua SFTP. Tuy nhiên, không được phép truy cập shell SSH thông thường. Lưu các dòng được đề cập ở trên trong tập tin cấu hình và đóng nó.

Khởi động lại dịch vụ SSH. Để các thay đổi mới có hiệu lực, hãy khởi động lại dịch vụ SSH bằng lệnh 'systemctl':

Mã nguồn [Chọn]
$ sudo systemctl restart ssh

Bây giờ, cấu hình SSH cho người dùng SFTP đã được thiết lập trên hệ thống của bạn. Tiếp theo, bạn sẽ tạo tài khoản người dùng SFTP mới và chỉ định quyền.

1.2. Tạo nhóm người dùng SFTP.

Để cấp quyền truy cập SFTP cho người dùng, bạn sẽ tạo tài khoản người dùng SFTP. Trước tiên, hãy tạo một nhóm người dùng mới cho người dùng 'SFTP'. Để thuận tiện cho mình, tất cả người dùng SFTP sẽ thuộc cùng một nhóm. Vì vậy, hãy chạy lệnh được đề cập bên dưới để tạo một nhóm SFTP mới:

Mã nguồn [Chọn]
$ sudo addgroup sftp

1.3. Tạo người dùng SFTP mới.

Sau khi nhóm mới được thêm, hãy tạo một người dùng sftp mới và sau đó thêm người dùng này vào nhóm sftp bằng cách chạy lệnh sau:

Mã nguồn [Chọn]
$ sudo useradd -m sftp_user -g sftp
Ở đây, mình đã tạo một người dùng sftp mới có tên 'samreena' như sau:

Mã nguồn [Chọn]
$ sudo useradd -m samreena -g sftp

Đặt mật khẩu cho người dùng sftp mới được tạo bằng cách nhập lệnh sau:

Mã nguồn [Chọn]
$ sudo passwd sftp_user
$ sudo passwd samreena


1.4. Cấp quyền cho thư mục cụ thể.

Trong bước này, bạn cấp toàn quyền cho người dùng sftp trên thư mục chính của họ. Tuy nhiên, những người dùng khác trên hệ thống không được phép truy cập vào thư mục này. Vì vậy, cấp quyền truy cập bằng lệnh 'chmod' như sau:

Mã nguồn [Chọn]
$ sudo chmod 700 /home/sftp_user/
Lệnh trên sẽ thay đổi theo tên của sftp_user.

Mã nguồn [Chọn]
$ sudo chmod 700 /home/samreena/

Đến đây, cấu hình máy chủ SFTP đã hoàn tất. Bây giờ, bạn có thể đăng nhập bằng thông tin đăng nhập sftp để kiểm tra mọi thứ có hoạt động bình thường hay không.

2. Đăng nhập qua SFTP.

Bạn có thể đăng nhập qua SFTP bằng hai phương pháp khác nhau:

  • Kết nối với SFTP bằng phương pháp dòng lệnh.
  • Kết nối với SFTP bằng GUI.

2.1. Phương pháp 1: Kết nối với SFTP bằng dòng lệnh.

Bạn có thể kết nối với máy chủ SFTP bằng địa chỉ IP hoặc tên máy chủ hệ thống. Mình đang sử dụng cùng một hệ thống mà mình đã cấu hình máy chủ SFTP.

Mở cửa sổ dòng lệnh Terminal và kết nối qua sftp bằng cách sử dụng tên sftp_user cùng với địa chỉ loopback 127.0.0.1 như sau:

Mã nguồn [Chọn]
$ sftp [email protected]
$ sftp [email protected]


Khi bạn kết nối lần đầu tiên qua SFTP, hộp thoại sau sẽ xuất hiện trên màn hình cửa sổ dòng lệnh Terminal. Gõ 'yes' để tiếp tục quá trình kết nối. Bây giờ, hãy đặt mật khẩu cho người dùng sftp. Sau đó, thông báo sau được kết nối với 127.0.0.1 hiển thị trên cửa sổ dòng lệnh Terminal và bây giờ bạn đã đăng nhập trên sftp.

Bây giờ, điều hướng vào thư mục chính của sftp_user. Vì người dùng sftp chỉ có quyền truy cập vào thư mục chính. Vì vậy, ở đây, hãy tạo một thư mục mới với tên 'test-sftp' để xác minh rằng sftp đang hoạt động bình thường.

Mã nguồn [Chọn]
sftp> cd sftp_user
sftp> mkdir test-sftp
sftp> ls


2.2. Phương pháp 2: Kết nối với SFTP bằng GUI.

Bạn có thể kết nối với máy chủ SFTP bằng ứng dụng máy khách GUI SFTP. Bạn có thể kết nối với ứng dụng khách SFTP ưa thích hoặc sử dụng trình quản lý tập tin Ubuntu Nautilus mặc định được tích hợp sẵn.

Mở trình quản lý tập tin Nautilus bằng menu ứng dụng và sau đó nhấp vào 'other Locations'. Bây giờ, ở cuối cửa sổ hiện tại, nhập 'sftp:   Đăng nhập để xem liên kết' vào hộp kết nối với máy chủ và sau đó nhấp vào 'connect'.

Nhập thông tin đăng nhập tài khoản SFTP mà bạn đã thiết lập ở trên và nhấp vào kết nối như sau:


Khi kết nối thành công, giao diện sau sẽ hiển thị:


Sau khi kết nối qua máy chủ SFTP, bạn có thể truy cập thư mục chính của mình và nội dung thư mục của nó như sau:


Mình đã cấu hình máy chủ SFTP thông qua SSH trong bài viết này bằng cách sử dụng dòng lệnh trên hệ thống Ubuntu 20.04. Mình đã khám phá cách bảo mật FTP bằng cách thiết lập máy chủ SFTP trên hệ thống Ubuntu.
 
Tuân theo các nguyên tắc nêu trên, hệ thống máy tính trên internet hoặc trên mạng cục bộ của bạn có thể truy cập an toàn vào các tập tin hệ thống của bạn để truy xuất và lưu trữ với các quyền được chỉ định. Điều này có thể được thực hiện bằng cách sử dụng ứng dụng khách SFTP ưa thích của họ hoặc thông qua dòng lệnh.