scp 指令的用法(自動登入)

Copy 遠端主機的資料到本地端的方法:

 scp -P 22 root@111.222.333.444:/root/file_name ./

-P 後面接的是port 預設值是22
-r  可以連目錄一起copy
===================免密碼  SCP 的方法如下=================================================
A為本地主機(即用於控制其他主機的機器) ;
B為遠程主機(即被控制的機器Server), 假如ip為123.234.111.222
A和B的系統都是Linux

在A上的命令:

1. 用下面的指令:然後連續按下enter 就可以產生金鑰
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ac:28:72:56:71:81:71:43:d1:86:17:26:3f:cd:df:7d root@localhost.localdomain

2.在root/.ssh底下會產生兩個檔案
-rw-------  1 root root 1.7K 11月 26 15:9 id_rsa
-rw-r--r--  1 root root  408 11月 26 15:9 id_rsa.pub
id_rsa 一定要是如上的權限不然會很危險
3.將id_rsa.pub拷貝到遠端的電腦內
如果電腦沒有這樣的目錄續要下面的過程建立目錄
# ssh root@123.234.111.222 "mkdir .ssh;chmod 0700 .ssh" (需要輸入密碼)
將檔案copy到我們要遠端的主機
# scp ~/.ssh/id_rsa.pub root@123.234.111.222:.ssh/id_rsa.pub (需要輸入密碼)
記得這個檔案的權限要改成644避免被亂改

在B上的命令:
# touch /root/.ssh/authorized_keys2 (如果已經存在這個文件, 跳過這條)
# cat /root/.ssh/id_rsa.pub  >;>; /root/.ssh/authorized_keys2 (將id_rsa.pub的內容追加到 authorized_keys2 中)

回到A機器:
# scp  /root/test.txt root@123.234.111.222:/root/test.txt  (不需要密碼, 登錄成功)