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ế username và ip-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.
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.
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
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?
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
Bình luận (0
)