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.
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 (FileZilla, WinSCP, FireFTP, 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.