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