Cách truyền file an toàn trên Linux với sftp

Cách truyền file an toàn trên Linux với sftp

Chia sẻ kiến thức 03/03/2022

Bạn muốn gửi file đến và từ một máy chủ từ xa? Sử dụng lệnh sftp trong Linux để truyền dữ liệu an toàn qua internet.

 Bạn muốn gửi file đến và từ một máy chủ từ xa? Sử dụng lệnh sftp trong Linux để truyền dữ liệu an toàn qua internet.

Bài viết này sẽ hướng dẫn bạn cách sử dụng sftp (viết tắt của SSH File Transfer Protocol, hay Giao thức truyền tệp SSH), một chương trình dòng lệnh để truyền file (tệp) an toàn giữa hai máy tính Linux trong cùng một mạng (network).

1. SFTP là gì?

Trước khi định nghĩa SFTP, trước hết cần hiểu về FTP (File Transfer Protocol, hay Giao thức truyền tệp), tiền thân của SFTP.

FTP là một giao thức truyền thông mạng được sử dụng để truyền tệp giữa hai máy tính trong cùng một mạng, thường là giữa máy chủ và máy khách.

SFTP là một phiên bản FTP an toàn hơn. Nó duy trì bảo mật bằng cách mã hóa dữ liệu được trao đổi giữa hai máy tính bằng cách sử dụng giao thức SSH (Secure Shell). FTP thì chỉ truyền dữ liệu dưới dạng văn bản thuần túy qua mạng.

>>> Đọc ngay: Cách cài đặt Microsoft Office trên Linux

2. Truy cập PC từ xa

Linux chủ yếu cho phép bạn truyền tệp bằng SFTP thông qua chương trình sftp. Sftp là một phần mềm dòng lệnh cho phép bạn truyền tệp qua SSH một cách an toàn.

Bạn có thể kết nối với máy chủ từ xa thông qua sftp bằng lệnh sau. Hãy nhớ thay thế usernameip-address-of-remote-pc bằng tên người dùng và địa chỉ IP chính xác của máy chủ.

sftp username@ip-address-of-remote-pc

Nhập mật khẩu máy chủ nếu được nhắc. Nếu terminal chào đón bạn với trạng thái Connected (Đã kết nối), điều đó có nghĩa là bạn đã thành công trong việc thiết lập kết nối. Con trỏ nhấp nháy chỉ đơn giản cho thấy rằng sftp đang ở chế độ tương tác.

thiết bị đầu cuối sftp tương tác trên máy tính Linux

Lưu ý : Nếu bạn không có máy chủ từ xa để tương tác, bạn có thể thử sftp cục bộ bằng cách chạy lệnh sau:

sftp 127.0.0.1

>>> Đọc ngay: 6 yếu tố cần xem xét khi lựa chọn một bản phân phối Linux

3. Lệnh sftp tương tác

Khi bạn ở chế độ tương tác (interactive mode), có một số lệnh mà bạn có thể sử dụng để tương tác với PC từ xa. Một số lệnh quan trọng nhất được giới thiệu dưới đây. Lưu ý rằng, không giống như hầu hết các lệnh Linux khác, các lệnh sftp không phân biệt chữ hoa chữ thường.

3.1 Liệt kê các file trên một máy chủ từ xa

Một trong những nhiệm vụ quan trọng nhất là liệt kê các file trong một thư mục (directory) để bạn có thể xem bạn muốn chuyển những gì. Bạn cũng có thể nhận thông tin file và folder của PC từ xa, bao gồm kích thước và quyền của tệp được lưu trữ.

Để liệt kê các tệp trên PC từ xa, bạn có thể sử dụng lệnh sau:

ls

Bạn có thể sử dụng hầu hết các flag lệnh ls như -a , -l , v.v. và chúng sẽ hoạt động tốt.

Để liệt kê các tệp trên PC đang hoạt động cục bộ, bạn có thể sử dụng lệnh sau:

lls

3.2 Liệt kê thư mục làm việc hiện tại

Bạn cũng có thể xuất đường dẫn của thư mục làm việc (working directory) hiện tại trên PC từ xa bằng pwd. Lệnh pwd là viết tắt của Present Working Directory  (thư mục làm việc hiện tại).

pwd

Để liệt kê thư mục làm việc hiện tại trên PC cục bộ của bạn:

lpwd

Sử dụng phím tắt Ctrl + L để xóa đầu ra tương tác ở terminal.

3.3 Tải file lên máy chủ

Sử dụng lệnh put để chuyển các tệp từ PC cục bộ của bạn sang một máy chủ từ xa. Ví dụ: để chuyển hình ảnh ISO Manjaro Linux từ folder chính (home folder) của bạn, hãy sử dụng lệnh bên dưới. Bạn có thể sử dụng flag -R để sao chép một cách đệ quy một thư mục.

put manjaro-xfce-21.0.7-minimal-210614-linux54.iso

Đầu ra sẽ tương tự như hình bên dưới. Sftp sẽ hiển thị tiến trình truyền tệp trong thời gian thực.

sftp tải lên đầu ra trên linux

Ngoài ra, vì đường dẫn tệp đến máy chủ từ xa chưa được chỉ định, sftp sẽ đặt tệp trong một đường dẫn tương tự như đường dẫn của PC cục bộ.

Nếu bạn muốn sao chép nhiều tệp, hãy sử dụng lệnh mput. Ví dụ: để sao chép tất cả các file Excel (XLS) trong một thư mục:

mput *.xls

Để tạm ngừng hoặc dừng hẳn việc truyền tệp tới máy chủ, bạn có thể sử dụng phím tắt Ctrl + C.

>>> Đọc ngay: Cách bắt đầu sử dụng Linux

3.4 Tải xuống tệp từ máy chủ

Sử dụng lệnh get để tải tệp từ máy chủ xuống PC cục bộ của bạn. Ví dụ: để sao chép tệp HTML có tên index.html từ máy chủ, chỉ cần chạy lệnh sau:

get index.html

Để lấy nhiều tệp từ máy chủ, hãy sử dụng lệnh mget. Ví dụ: để sao chép tất cả các tệp HTML từ thư mục làm việc hiện tại của máy chủ sang hệ thống cục bộ của bạn:

mget *.html
lệnh sftp để tải xuống nhiều tệp từ máy chủ

3.5 Thay đổi quyền đối với tệp

Bạn cũng có thể thay đổi quyền của tệp trên máy chủ từ xa trong thiết bị đầu cuối tương tác bằng cách sử dụng lệnh chmod . Ví dụ: để cấp tất cả các quyền truy cập vào file index.html, hãy chạy lệnh sau:

chmod 777 index.html

3.6 Thoát phiên sftp

Để thoát khỏi terminal tương tác sftp, bạn có thể chỉ cần gõ lệnh bye (tạm biệt). Ngoài ra, bạn cũng có thể sử dụng các lệnh exist hoặc quit.

3.7 Hiểu thêm về dòng lệnh

Thay vì ghi nhớ các câu lệnh, cách tốt nhất là bạn nên học cách nhận trợ giúp từ giao diện dòng lệnh (command line) bất cứ khi nào bạn cần.

Chỉ cần nhập lệnh sau để nhận trợ giúp trong cửa sổ terminal tương tác.

help?
menu trợ giúp sftp trong thiết bị đầu cuối tương tác

Dịch từ: https://www.makeuseof.com/securely-transfer-files-on-linux-with-sftp/

>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:

>>> Xem thêm nhiều hơn bài viết tại đây:

Cách tạo ảnh Mosaic trên Linux với Polyfoto

Cách ghi chú trong Terminal Linux với ứng dụng ghi chú tnote

Cách sử dụng lệnh wc trong Linux

Hướng dẫn cách sử dụng lsof để theo dõi file đang mở trên Linux

Vân Nguyễn

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại