使用Unix scp 在主機(jī)之間復(fù)制文件
今天就來學(xué)習(xí)使用Unix scp。您每天使用的標(biāo)準(zhǔn)網(wǎng)絡(luò)服務(wù)(如 FTP、Telnet、RCP 和遠(yuǎn)程 Shell (rsh) 等)在封閉環(huán)境中運(yùn)行良好,但使用這些服務(wù)在網(wǎng)絡(luò)上傳輸?shù)男畔⑹俏醇用艿摹?/p>
任何人都可以在您的網(wǎng)絡(luò)或遠(yuǎn)程計(jì)算機(jī)上使用包嗅探器查看交換的信息,有時(shí)甚至可以查看密碼信息。下面就來學(xué)習(xí)下Unix scp的知識(shí)吧。
而且,使用所有此類服務(wù)時(shí),在登錄過程中用于自動(dòng)登錄的選項(xiàng)會(huì)受到限制,并且通常依賴于將純文本密碼嵌入到命令行才能執(zhí)行語句,從而使登錄過程變得更加不安全。
開發(fā)的安全 Shell (SSH) 協(xié)議可以排除這些限制。SSH 能夠?yàn)檎麄€(gè)通信通道提供加密,其中包括登錄和密碼憑據(jù)交換,它與公鑰和私鑰一起使用可以為登錄提供自動(dòng)化身份驗(yàn)證。
您還可以將 SSH 用作基礎(chǔ)傳輸協(xié)議。以這種方式使用 SSH 意味著在打開安全連接后,加密通道可以交換所有類型的信息,甚至 HTTP 和 SMTP 可以使用該方法來保證通信機(jī)制的安全。
Unix OpenSSH 是 SSH 1 和 SSH 2 協(xié)議的免費(fèi)實(shí)現(xiàn)。它最初是作為 OpenBSD (Berkeley Software Distribution) 操作系統(tǒng)的一部分開發(fā)的,現(xiàn)在被發(fā)布為 Unix 或 Linux® 和類似操作系統(tǒng)的常規(guī)解決方案。
Unix scp 命令的工作方式與 rc 命令相似,只不過是使用 SSH 協(xié)議傳輸文件。在傳輸內(nèi)容相關(guān)文件或在 Internet 上自動(dòng)交換文件時(shí),選用Unix scp 要好得多。
其格式類似于 rcp;您可以指定之間復(fù)制的文件路徑,必要時(shí)應(yīng)將主機(jī)名合并到該路徑。例如,要將 .bashrc 文件從遠(yuǎn)程主機(jī)復(fù)制到本地計(jì)算機(jī),請(qǐng)使用: $ scp remotehost:/users/mc/.bashrc ~/.bashrc
和前面一樣,若指定要使用的用戶名,請(qǐng)?jiān)谥鳈C(jī)前面加上用戶名,并用 @ 符號(hào)分開: $ scp mc@remotehost:/users/mc/.bashrc ~/.bashrc
假設(shè)您用于連接的用戶有讀取權(quán)限,還需要使用元字符 ~ 才能訪問主目錄中的信息。
$ scp mc@remotehost:~mc/.bashrc ~/.bashrc
要從登錄用戶的主目錄中進(jìn)行復(fù)制,請(qǐng)使用: $ scp mc@remotehost:.bashrc ~/.bashrc
Unix scp 命令還支持標(biāo)準(zhǔn)擴(kuò)展規(guī)則。所以,要復(fù)制所有的 .bash* 文件,您可以使用: $ scp mc@remotehost:.bash* ~
您甚至還可以通過使用展開的大括號(hào) ({}) 更具體地選擇單個(gè)文件:$ scp mc@remotehost:".bash{rc,_path,_aliases,_vars}" ~
請(qǐng)注意,文件路徑中展開的大括號(hào)(不是完整的遠(yuǎn)程路徑表達(dá)式)已用雙引號(hào)括上。
在上面所有的示例中,系統(tǒng)都會(huì)提示您輸入遠(yuǎn)程主機(jī)的密碼。通過為主機(jī)提供您自己的個(gè)人密鑰的公共部分可以避免這種情況。
這些,就是我們要講的使用Unix scp 在主機(jī)之間復(fù)制文件的知識(shí)。
【編輯推薦】