SFTP: Định nghĩa, ưu/nhược điểm và cách sử dụng để di chuyển dữ liệu trên máy chủ Linux

16:06 02/10/2023

SFTP là là một thuật ngữ quen thuộc trong lĩnh vực công nghệ thông tin. Nếu bạn chưa hiểu rõ về thuật ngữ này cũng như cách sử dụng của nó thì hãy đọc bài viết dưới đây để hiểu một cách chi tiết nhé!

SFTP là gì? Hướng dẫn di chuyển dữ liệu trên máy chủ Linux

1. SFTP là gì?

SFTP (SSH Transfer Protocol) là một giao thức truyền tải file an toàn dựa trên SSH (Secure Shell). Nó cho phép người dùng truyền tải và quản lý file giữa các máy tính từ xa một cách bảo mật. 

SFTP sử dụng mã hóa để bảo vệ thông tin trong quá trình truyền tải và xác thực người dùng bằng cách sử dụng các khóa SSH. SFTP được sử dụng rộng rãi trong việc truyền tải file qua mạng máy tính, đặc biệt là trong các môi trường đòi hỏi tính bảo mật cao như doanh nghiệp và tổ chức.

2. Ưu và nhược điểm của SFTP 

Ưu điểm:

  • Bảo mật cao: SFTP sử dụng giao thức SSH để mã hóa dữ liệu truyền tải, đảm bảo rằng thông tin được truyền một cách an toàn và không thể đọc được bởi bên thứ ba.
  • Quản lý người dùng linh hoạt: SFTP Server cho phép quản lý người dùng và quyền truy cập của họ. Bạn có thể tạo ra các tài khoản người dùng riêng biệt, xác định quyền truy cập dựa trên thư mục và tệp tin cụ thể.
  • Truyền tải dữ liệu nhanh chóng: SFTP sử dụng thuật toán nén dữ liệu và truyền tải song song để cải thiện hiệu suất truyền tải. Điều này giúp giảm thời gian truyền tải và tiết kiệm băng thông mạng.

Nhược điểm:

  • Hiệu suất chậm hơn: So với các giao thức truyền tải dữ liệu khác như FTP hay SCP, SFTP có thể chậm hơn do mã hóa dữ liệu và việc xác thực thêm.
  • Khả năng mở rộng hạn chế: SFTP không hỗ trợ mở rộng nhiều người dùng cùng truy cập một tài khoản một lúc. Điều này có thể gây mâu thuẫn và làm giảm hiệu suất.
  • Không hỗ trợ nén dữ liệu: SFTP không hỗ trợ tính năng nén dữ liệu, do đó không thể giảm kích thước dữ liệu trên đường truyền để tiết kiệm băng thông.
  • Khó khăn trong việc cấu hình: Cấu hình SFTP Server có thể khá phức tạp và khó hiểu đối với người mới sử dụng. Để kích hoạt các khoá SSH, người dùng cần phải được đào tạo kỹ càng để có thể thao tác chuẩn xác.

3. Cách đăng nhập vào SFTP

Để đăng nhập vào SFTP (Secure File Transfer Protocol), bạn cần sử dụng một chương trình SFTP client. Một số phần mềm SFTP client phổ biến bao gồm FileZilla, WinSCP, Cyberduck và Bitvise SSH Client. 

Các bước để đăng nhập vào SFTP bằng FileZilla:

  • Bước 1: Tải và cài đặt FileZilla từ trang web chính thức của
  • Bước 2: Mở FileZilla và chọn “File” -> “Site Manager” (hoặc nhấp chuột trái vào biểu tượng “Site Manager” trên thanh công cụ).
  • Bước 3: Trong cửa sổ Site Manager, nhấp vào nút “New Site” để tạo một kết nối mới.
  • Bước 4: Đặt tên cho kết nối. Ví dụ: “My SFTP Connection”
  • Bước 5: Trong phần “Protocol”, chọn “SFTP – SSH File Transfer Protocol”
  • Bước 6: Trong phần “Host”, nhập địa chỉ máy chủ SFTP mà bạn muốn kết nối tới.
  • Bước 7: Trong phần “Port”, để trống hoặc nhập số cổng SFTP nếu cần thiết, mặc định là 22.
  • Bước 8: Trong phần “Logon Type”, chọn “Normal”.
  • Bước 9: Nhập tên người dùng và mật khẩu của bạn vào các trường tương ứng.
  • Bước 10: Nhấp vào nút “Connect” để bắt đầu kết nối SFTP.

4. Cách truyền file bằng SFTP

Truyền file bằng SFTP cũng là một trong cách sử dụng SFTP phổ biến hiện nay. Bạn có thể sử dụng SFTP để thực hiện truyền file từ máy local sang máy từ xa và ngược lại.

Hướng dẫn các bước để truyền file bằng SFTP từ máy chủ từ xa đến máy local:

  • Bước 1: Dùng lệnh “sftp> lpwd Local directory: /Local Directory và sftp> pwd Remote directory: /Remote Directory” để xác định được thư mục Local và thư mục Remote.
  • Bước 2: Sử dụng lệnh get thông qua cú pháp “get /RemoteDirectory/filename.txt” để chuyển file từ máy chủ từ xa sang máy local.

Sau khi hoàn tất các bước này, bạn có thể thấy được file xinetd.conf nằm trong thư mục home của máy nội bộ mà mình đang sử dụng.

Hướng dẫn các bước để chuyển file bằng SFTP từ máy local đến máy chủ từ xa:

  • Bước 1: Sử dụng cú pháp lệnh get “get file.txt /RemoteDirectory” để sao chép file từ máy nội bộ sang các máy chủ từ xa.
  • Bước 2: Di chuyển file example.txt từ máy local sang máy chủ từ xa bằng dòng lệnh “put /home/user-name/example.txt /root”

Sau khi thực hiện, các file cần chuyển sẽ xuất hiện trong thư mục gốc của máy chủ từ xa.

Di truyển dữ liệu từ máy chủ từ xa đến máy local và ngược lại

5. Phân biệt FTP và SFTP

FTP (File Transfer Protocol) và SFTP (SSH File Transfer Protocol) đều là các giao thức được sử dụng để truyền tải các tệp tin qua mạng. Nhưng có một số điểm khác biệt quan trọng mà bạn cần chú ý:

Điểm khác biệt FTP 

(File Transfer Protocol)

SFTP 

(SSH File Transfer Protocol)

Bảo mật Không mã hóa dữ liệu trong quá trình truyền tải Sử dụng mã hóa SSH để bảo mật dữ liệu. Do đó, SFTP được coi là một giao thức an toàn hơn vì thông tin được mã hóa và bảo vệ khỏi nguy cơ đánh cắp.
Cổng kết nối Sử dụng cổng 21 để thiết lập kết nối và cổng 20 để truyền tải dữ liệu. Sử dụng cổng 22, cùng với SSH, để thiết lập kết nối và truyền tải dữ liệu.
Chế độ hoạt động Hoạt động dựa trên mô hình client-server, trong đó máy chủ FTP cung cấp và quản lý các tệp tin, và khách hàng FTP kết nối và truy cập vào các tệp tin đó. Cũng hoạt động theo mô hình client-server, nhưng sử dụng kết nối SSH để mã hóa dữ liệu và cung cấp tính năng xác thực.

Trên đây là những thông tin quan trọng xoay quanh SFTP bao gồm khái niệm, chức năng, ưu nhược điểm, cách sử dụng cũng như cách phân biệt giữa FTP và SFTP. Để học thêm nhiều kiến thức bổ ích về công nghệ và lập trình, bạn hãy đọc thật kỹ và thực hành theo hướng dẫn nhé!

Bộ môn Công nghệ thông tin
Trường Cao đẳng FPT Mạng cá cược bóng đá cơ sở Hà Nội

Cùng chuyên mục

Đăng Kí học Fpoly 2023