Lệnh "sFTP" - Chuyển tập tin trên Linux [10 ví dụ]

File Transfer Protocol (FTP) đã là một giao thức phổ biến được sử dụng để chuyển tập tin hoặc dữ liệu từ xa trong định dạng chưa được mã hóa, điều này không phải là một cách an toàn để giao tiếp.

Chúng ta đều biết rằng File Transfer Protocol không an toàn vì tất cả các truyền thông diễn ra dưới dạng văn bản rõ ràng và dữ liệu có thể đọc được bởi bất kỳ ai trong quá trình ngửi(giám sát) gói tin trên mạng.

sftp commands

Vì vậy, cơ bản, FTP có thể được sử dụng trong một số trường hợp giới hạn hoặc trên các mạng bạn tin tưởng. Theo thời gian, SCP (Secure Copy) và SSH (Secure Shell) đã giải quyết được tình trạng không rõ ràng về bảo mật này và thêm một lớp bảo mật được mã hóa khi chuyển dữ liệu giữa các máy tính từ xa.

SFTP (Secure File Transfer Protocol) chạy trên giao thức SSH tại cổng tiêu chuẩn 22 theo mặc định để thiết lập một kết nối an toàn. SFTP được tích hợp vào nhiều công cụ GUI (FileZillaWinSCPFireFTP, v.v.).

Cảnh báo bảo mật: Xin vui lòng không mở cổng SSH (Secure SHell) trên toàn cầu vì điều này sẽ là một vi phạm bảo mật. Bạn chỉ có thể mở cho địa chỉ IP cụ thể từ đó bạn sẽ truyền hoặc quản lý tập tin trên hệ thống từ xa hoặc ngược lại.

Bài viết này sẽ hướng dẫn bạn 10 ví dụ lệnh sftp để sử dụng thông qua giao diện dòng lệnh tương tác trong giao diện terminal Linux.

1. Cách kết nối với SFTP

Theo mặc định, cùng giao thức SSH được sử dụng để xác thực và thiết lập một phiên SFTP. Để bắt đầu một phiên SFTP, nhập tên người dùng và tên máy chủ từ xa hoặc địa chỉ IP tại dấu nhắc lệnh. Sau khi xác thực thành công, bạn sẽ thấy một giao diện dòng lệnh có dấu nhắc sftp>.

[root@tecmint ~]# sftp tecmint@27.48.137.6

Connecting to 27.48.137.6...
tecmint@27.48.137.6's password:
sftp>

2. Nhận Trợ giúp

Một khi bạn đang ở trên dấu nhắc sftp, kiểm tra các lệnh có sẵn bằng cách gõ '?' hoặc 'help' tại dấu nhắc lệnh.

sftp> ?
Available commands:
cd path                       Change remote directory to 'path'
lcd path                      Change local directory to 'path'
chgrp grp path                Change group of file 'path' to 'grp'
chmod mode path               Change permissions of file 'path' to 'mode'
chown own path                Change owner of file 'path' to 'own'
help                          Display this help text
get remote-path [local-path]  Download file
lls [ls-options [path]]       Display local directory listing
ln oldpath newpath            Symlink remote file
lmkdir path                   Create local directory
lpwd                          Print local working directory
ls [path]                     Display remote directory listing
lumask umask                  Set local umask to 'umask'
mkdir path                    Create remote directory
put local-path [remote-path]  Upload file
pwd                           Display remote working directory
exit                          Quit sftp
quit                          Quit sftp
rename oldpath newpath        Rename remote file
rmdir path                    Remove remote directory
rm path                       Delete remote file
symlink oldpath newpath       Symlink remote file
version                       Show SFTP version
!command                      Execute 'command' in local shell
!                             Escape to local shell
?                             Synonym for help

3. Kiểm tra thư mục làm việc hiện tại

Lệnh 'lpwd' được sử dụng để kiểm tra thư mục làm việc hiện tại của máy cục bộ, trong khi lệnh 'pwd' được sử dụng để kiểm tra thư mục làm việc hiện tại của máy chủ từ xa.

sftp> lpwd
Local working directory: /
sftp> pwd
Remote working directory: /tecmint/
  • lpwd - in ra thư mục hiện tại trên hệ thống của bạn
  • pwd - in ra thư mục hiện tại trên máy chủ ftp

4. Liệt kê các tập tin với sFTP

Liệt kê các tệp tin và thư mục trong hệ thống cục bộ cũng như máy chủ ftp từ xa.

Trên Máy chủ từ xa
sftp> ls
Trên Máy cục bộ
sftp> lls

5. Tải lên Tệp Tin Sử dụng sFTP

Tải lên một tệp tin duy nhất hoặc nhiều tệp tin trong máy chủ ftp từ xa.

sftp> put local.profile
Uploading local.profile to /tecmint/local.profile

6. Tải lên Nhiều Tệp Tin Sử dụng sFTP

Tải lên nhiều tệp tin trong máy chủ ftp từ xa.

sftp> mput *.xls

6. Tải về Tệp Tin Sử dụng sFTP

Tải về một hoặc nhiều tệp tin trong hệ thống cục bộ.

sftp> get SettlementReport_1-10th.xls
Fetching /tecmint/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls

Tải về một số tập tin trong hệ thống cục bộ.

sftp> mget *.xls

Lưu ý: Như chúng ta có thể thấy theo mặc định với lệnh get để tải về tập tin trong hệ thống cục bộ với cùng tên. Chúng ta có thể tải về các tập tin từ xa với một tên khác bằng cách chỉ định tên ở cuối. (Điều này chỉ áp dụng khi tải về một tập tin duy nhất).

7. Chuyển Đổi Thư mục trong sFTP

Chuyển từ một thư mục sang một thư mục khác trong các vị trí cục bộ và từ xa.

Trên Máy chủ từ xa
sftp> cd test
sftp>
Trên Máy cục bộ
sftp> lcd Documents

8. Tạo Thư mục Sử dụng sFTP

Tạo thư mục mới trong các vị trí cục bộ và từ xa.

sftp> mkdir test
sftp> lmkdir Documents

9. Xóa Thư mục Sử dụng sFTP

Xóa thư mục hoặc tệp tin trong hệ thống từ xa.

sftp> rm Report.xls
sftp> rmdir sub1

Lưu ý: Để xóa bất kỳ thư mục nào từ vị trí từ xa, thư mục đó phải rỗng.

10. Thoát khỏi SFTP Shell

Lệnh ‘!‘ đưa chúng ta vào một giao diện dòng lệnh cục bộ từ đó chúng ta có thể thực hiện các lệnh Linux. Nhập lệnh ‘exit‘ nơi chúng ta có thể thấy dấu nhắc sftp> trả lại.

sftp> !

[root@sftp ~]# exit
Shell exited with status 1
sftp>

Kết luận

SFTP là một công cụ rất hữu ích để quản lý máy chủ và truyền tệp tin cho và từ (=Cục bộ và Từ xa). Chúng tôi hy vọng rằng tuts này sẽ giúp bạn hiểu về việc sử dụng SFTP ít nhiều.