(轉)Linux之間copy檔案常用方法 scp

polestar123發表於2009-04-09

不同的Linux之間copy檔案常用有3種方法,第一種就是ftp,也就是其中一臺Linux安裝ftp Server,這樣可以另外一臺使用ftp的client程式來進行檔案的copy。第二種方法就是採用samba服務,類似Windows檔案copy的方式來操作,比較簡潔方便,第三種就是利用scp命令來進行檔案複製。

scp是有Security的檔案copy,基於ssh登入。操作起來比較方便,比如要把當前一個檔案copy到遠端另外一臺主機上,可以如下命令。

scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

然後會提示你輸入另外那臺172.19.2.75主機的root使用者的登入密碼,接著就開始cp和ungzip了

如果想反過來操作,把檔案從遠端主機copy到當前系統,也很簡單。

scp root@172.19.2.75:/home/root /home/daisy/full.tar.gz

例如:
copy 本地的檔案到遠端的機器上
scp /etc/lilo.conf k@net67.ee.oit.edu.tw:/home/k
會將本地的 /etc/lilo.conf 這個檔案 copy 到 net67.ee.oit.edu.tw,使用者 k 的家目錄下。
copy遠端機器上的檔案到本地來
scp k@net67.ee.oit.edu.tw:/etc/lilo.conf /etc
會將 net67.ee.oitdu.tw 中 /etc/lilo.conf 檔案 copy 到本地的 /etc 目錄下。
保持從來源 host 檔案的屬性
scp –p k@net67.ee.tw:/etc/lilo.conf /etc
在此必須注意使用者的許可權是否可讀取遠端上的檔案,若想知道更多關於 scp 的使用方法,可去看看 scp 的使用手冊。
ssh-keygen
產生公開鑰 (pulib key) 和私人鑰 (private key),以保障 ssh 聯機的安性, 當 ssh 連 shd 伺服器,會交換公開鑰上,系統會檢查 /etc/ssh_know_hosts 內儲存的 key,如果找到客戶端就用這個 key 產生一個隨機產生的session key 傳給伺服器,兩端都用這個 key 來繼續完成 ssh 剩下來的階段。

它會產生 identity.pub、identity 兩個檔案,私人鑰存放於identity,公開鑰 存放於 identity.pub 中,接下來使用 scp 將 identity.pub copy 到遠端機器的家目錄下.ssh下的authorized_keys。 .ssh/authorized_keys(這個 authorized_keys 檔案相當於協議的 rhosts 檔案), 之後使用者能夠不用密碼去登入。RSA的認證絕對是比 rhosts 認證更來的安全可靠。
執行:
scp identity.pub k@linux1.ee.oit.edu.tw:.ssh/authorized_keys

若在使用 ssh-keygen 產生鑰匙對時沒有輸入密碼,則如上所示不需輸入密碼即可從 net67.ee.oit.edu.tw 去登入 linux1.ee.oit.edu.tw。在此,這裡輸入的密碼可以跟帳號的密碼不同,也可以不輸入密碼。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70612/viewspace-1020222/,如需轉載,請註明出處,否則將追究法律責任。

相關文章