Linux如何使用 SCP 和 SFTP 安全傳輸文件
通過使用基于 SSH 的身份驗(yàn)證,SFTP 和 SCP 是在系統(tǒng)之間安全地移動(dòng)文件的便捷命令。
在系統(tǒng)之間移動(dòng)文件是 Linux 系統(tǒng)管理員的常規(guī)操作之一,通過網(wǎng)絡(luò)傳輸數(shù)據(jù)時(shí),一個(gè)重要的考慮因素是您使用的介質(zhì)的安全性。
在 ?Red Hat Enterprise Linux ?(RHEL) 上,SFTP(安全文件傳輸協(xié)議)和 SCP(安全復(fù)制)是在系統(tǒng)之間安全移動(dòng)文件的便捷命令。作為 OpenSSH 套件的一部分,這些工具依靠安全外殼 (SSH)來傳輸文件,這意味著它們使用相同的身份驗(yàn)證并提供與 SSH 相同的安全性。
使用 SCP 復(fù)制文件
要使用 SCP 傳輸文件,請(qǐng)指定遠(yuǎn)程服務(wù)器的 IP 地址或主機(jī)名以及您希望它復(fù)制文件或目錄的目標(biāo)路徑,對(duì) SCP 使用與 SSH 相同的用戶名和憑據(jù)。不需要其他憑據(jù)。
如果該文件已存在于目的地,SCP 將替換或覆蓋該內(nèi)容。為目標(biāo)路徑使用絕對(duì)路徑名也是明智之舉。
要使用命令傳輸文件scp,請(qǐng)使用以下語法:
$?scp?file1?user@192.268.1.3:/home/user
file1此示例在本地服務(wù)器上復(fù)制到/home/user/位于 192.168.1.3 的遠(yuǎn)程服務(wù)器上。
在 SSH 服務(wù)器使用不同端口(例如 2390)的情況下,復(fù)制文件的命令如下所示:
$?scp?-P?2390?file1?user@192.268.1.3:/home/user
注意:-P是大寫而不是小寫-p (與使用 SSH 時(shí)一樣)。
如果公鑰和私鑰存儲(chǔ)在非標(biāo)準(zhǔn)位置,則需要指定它們的路徑,例如,如果私鑰存儲(chǔ)在/home/keys/id_rsa,則命令為:
$?scp?-i?/home/keys/id_rsa?-P?2390?file1?user@192.268.1.3:/home/user
也可以使用-r參數(shù)復(fù)制目錄。要復(fù)制名為 的目錄backup,請(qǐng)使用:
$?scp?-r?backup?user@192.268.1.3:/opt/
命令將整個(gè)backup目錄復(fù)制到/opt/backup. 請(qǐng)注意,您需要確保與您連接的用戶有權(quán)執(zhí)行您想要執(zhí)行的操作。
使用 SFTP 復(fù)制文件
SFTP 是一個(gè)安全的文件傳輸程序,它也依賴于 SSH 并且是交互式的。該工具類似于 FTP,但它使用 SSH 端口 22。
當(dāng)您啟動(dòng) SFTP 連接時(shí),它會(huì)連接到其目的地并在遠(yuǎn)程服務(wù)器上進(jìn)入交互模式。然后,您可以使用 、 、 和 等get命令put傳輸cd文件 rmdir。
要建立 SFTP 連接,請(qǐng)使用:
$?sftp?user@192.168.1.3
您應(yīng)該有一個(gè)類似于以下的命令提示符:
sftp>
如果 SSH 在備用端口上運(yùn)行,請(qǐng)使用:
$?sftp?-oPort=2390?user@192.168.1.3
使用無密碼連接時(shí),如果私鑰名稱不同或存儲(chǔ)在與默認(rèn)位置不同的位置,請(qǐng)使用:
$?sftp?-o?IdentityFile=~/.ssh/id_rsa_key?user@192.168.1.3
上面的例子使用 192.168.1.3 的私鑰連接到 192.168.1.3 ~/.ssh/id_rsa_key。
如果要將文件/etc/resolv.conf文件傳輸?shù)?etc遠(yuǎn)程服務(wù)器上怎么辦?在這種情況下,請(qǐng)使用:
$??sftp?user@192.168.1.3
sftp>?cd?/etc
sftp>?put?/etc/resolv.conf?
要將遠(yuǎn)程服務(wù)器命名的文件下載/opt/user_list到本地系統(tǒng),請(qǐng)執(zhí)行以下操作:
$??sftp?user@192.168.1.3
sftp>?cd?/opt?
sftp>?get?user_list
您可以使用該-r參數(shù)上傳和下載目錄。
要上傳目錄,請(qǐng)使用:
sftp>?put?-r??new_folder?
要下載目錄,請(qǐng)使用:
sftp>?get?-r??folder_from_remoteserver
有關(guān)其他選項(xiàng),請(qǐng)使用該sftp –help命令或通過鍵入來查閱手冊(cè)頁man sftp。
總結(jié)
使用安全文件復(fù)制命令(例如scp和sftp)是網(wǎng)絡(luò)強(qiáng)化和一般安全計(jì)劃的重要組成部分,這些命令很簡單,并且依賴于熟悉且值得信賴的 SSH 實(shí)用程序。