1. 程式人生 > >傳輸工具sftp使用詳解

傳輸工具sftp使用詳解


    SFTP是Secure File Transfer Protocol的縮寫,安全檔案傳送協議,它是一個互動式檔案傳輸程式。它類似於 ftp, 但它進行加密傳輸,比FTP有更高的安全性,並且支援斷點續傳
    SFTP 為 SSH的一部份,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實在SSH軟體包中,已經包含了一個叫作SFTP(Secure File Transfer Protocol)的安全檔案傳輸子系統,SFTP本身沒有單獨的守護程序,它必須使用sshd守護程序(埠號預設是22)來完成相應的連線操作,所以從某種意義上來說,SFTP並不像一個伺服器程式,而更像是一個客戶端程式。SFTP同樣是使用加密傳輸認證資訊和傳輸的資料,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果您對網路安全性要求更高時,可以使用SFTP代替FTP。

[
[email protected]
opt]# sftp --help usage: sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config] [-o ssh_option] [-P sftp_server_path] [-R num_requests] [-S program] [-s subsystem | sftp_server] host sftp [[email protected]]host[:file ...] sftp [[email protected]
]host[:dir[/]] sftp -b batchfile [[email protected]]host
    2.2 連線引數介紹
    -1:指定使用協議版本1。
    -C:啟用壓縮。
    -v:提高登入水平(列印更多的debug資訊)。
    -B:指定sftp傳輸使用的快取大小,預設值為32768bytes。
    -b:通過指定指令碼,呼叫指令碼命令,而不是在shell命令列輸入命令。
    -F:設定一個可變動的使用者配置給ssh.這個選項直接會被傳遞到ssh(1),如[[email protected] tmp]# sftp -F /tmp/test
[email protected]

    -o:指定配置資訊,如[[email protected] /]# sftp -o Port=22 [email protected]
    -P:Connect directly to a local sftp server (rather than via ssh(1)). This option may be useful in debugging the client and server.
    -R:指定同一時刻有多少請求,預設為64。增加該引數可以輕微的提高傳輸速度,不過會佔用更多的記憶體。
    -S:指定用於加密連線的程式,如ssh。
    -s:subsystem | sftp_server
           Specifies the SSH2 subsystem or the path for an sftp server on the remote host. A path is useful for using sftp over protocol version 1, or when the remote sshd(8) does not have an sftp subsystem configured.
    2.3 sftp登入方式
    sftp [[email protected]]host[:dir[/]]:預設情況下登入到遠端的/root目錄。指定目錄的話,如/opt,則登入到遠端/opt目錄
    例如:
[[email protected] /]# sftp [email protected]:/opt
    sftp [[email protected]]host[:file ...]:直接下載遠端檔案到本地
    例如:
[[email protected] /]# sftp [email protected]:/opt/testfile.txt

    3.1 sftp登陸後,通過help命令檢視使用方法

sftp> help
可用命令:
bye                                    退出sftp
cd path                             更改遠端路徑,如sftp> cd /opt
chgrp grp path                將檔案“path”的組更改為“group”
chmod mode path          將檔案“path”的許可權更改為“mode”
chown own path             將檔案“path”的屬主更改為“owner”
df [-hi] [path]                     顯示當前路徑或系統檔案路徑的統計資訊,如空間使用情況及inode(索引節點)使用情況,如sftp> df -h或df -i。inode介紹可參考我其它文章【http://blog.csdn.net/jesseyoung/article/details/42524813】。
exit                                    退出sftp
get [-P] remote-path [local-path] 下載遠端伺服器指定檔案(支援斷點續傳),如sftp> get /opt/testfile.tar /opt/
help                                  顯示幫助資訊
lcd path                            更改本地路徑,如sftp> lcd /opt
lls [ls-options [path]]       顯示本地資料夾列表,如sftp> lls /tmp
lmkdir path                       建立本地目錄,如sftp> lmkdir /tmp/test/
ln oldpath newpath        建立遠端軟連線,如sftp> ln /tmp/testfile /tmp/test.symlink
lpwd                                  顯示本地工作路徑,如sftp> lpwd 
ls [-1aflnrSt] [path]          顯示遠端目錄列表,如如sftp> ls -l /opt/
lumask umask                 指定在建立檔案時預設的許可權掩碼,關於umask的詳細介紹可參考我其它的文章【http://blog.csdn.net/jesseyoung/article/details/42525341】。
mkdir path                        建立遠端目錄,如sftp> mkdir /tmp/test/
progress                          進度表切換顯示,如sftp> progress 0
put [-P] local-path [remote-path]  上傳本地檔案到遠端伺服器。如sftp> put /opt/testfile.tar /opt/
pwd                                   顯示遠端工作目錄,如sftp> pwd
quit                                    退出sftp
rename oldpath newpath   重新命名遠端檔案(夾),如
rm path                             刪除遠端檔案,如sftp> rm /opt/testfile.tar 
rmdir path                        刪除遠端資料夾,如sftp> rmdir /opt/testdir/
symlink oldpath newpath   建立遠端軟連線,如sftp> symlink /tmp/testfile /tmp/test.symlink
version                            檢視sftp版本資訊。
!command                      在本地視窗執行命令,如sftp> !ls
!                                        退出sftp
?                                  help的同義詞
    3.2 斷點續傳測試
    通過get命令獲取遠端伺服器2GB大小檔案
sftp> get /opt/2GBfile.tar
Fetching /opt/2GBfile.tar
/opt/2GBfile.tar                                                                      50%   1024MB  14.3MB/s   01:35 ETA
/opt/2GBfile.tar                                                                      100%  2048MB  16.6MB/s   04:20 
    傳輸過程中,如傳輸50%時,中斷網路1分鐘。
    網路開啟後自動傳輸後續50%檔案,而非重新傳輸,節省了時間。
    3.3 命令列直接傳輸
    直接將遠端檔案/opt/testfile.txt傳輸到本地/tmp/目錄下
[[email protected] /]# sftp [email protected]:/opt/testfile.txt  /tmp/


****************************************************************************************
    原文地址:http://blog.csdn.net/jesseyoung/article/details/42523903
    部落格主頁:http://blog.csdn.net/jesseyoung
****************************************************************************************