以下內容轉自網絡:
兩臺LINUX主機之間要互傳文件時可使用SCP命令來實現
1. 需要輸入密碼:
$ cd cd /home/tony/.ssh/
$ scp id_rsa.pub [email protected]:/root/.ssh/authorized_keys
(然後輸入172.17.12.57那臺機器下的root密碼,便可以傳輸文件id_rsa.pub
到,遠程機器/root/.ssh/下,並改名爲authorized_keys)
2. 不需要輸入密碼:
***不需要輸入密碼,就需要在兩臺機器之間建立信任關係:把本地主機用戶的ssh
公匙文件複製到遠程主機用戶的~/.ssh/authorized_keys***
$ ssh-keygen
(一路回車下去,然後會在/home/tony/.ssh/目錄下生成id_rsa和id_rsa.pub
兩個文件,然後將id_rsa.pub文件傳輸到遠程機。)
$ scp /home/tony/.ssh/id_rsa.pub [email protected]:/root/.ssh/
(實現了將id_rsa.pub傳輸到遠程機器的/root/.ssh/目錄下)
$ ssh [email protected]
(輸入密碼後,便可以通過ssh登錄到遠程機器,並且用root用戶登錄,這裏如果直
接輸入ssh 172.17.12.57登錄,是用默認的tony用戶登錄的,原來是不需要
putty軟件的啊,原來telnet和ssh是一樣啊)
# cd .ssh
# mv id_rsa.pub authorized_keys
(這條命令執行過後,在exit出來後,會發現ssh [email protected]不再需要
密碼了,從此scp的操作也不再需要密碼了,原來scp就是ssh copy 的簡寫啊,
亂說的,沒經過考證)
***疑問:不知道爲什麼,我用ssh-keygen -f 生成對應的文件,複製過去卻不管
用***
3. 多臺機器擁有一臺機器的認證
基本操作同上類似,但是進入到遠程主機的.ssh/目錄下有兩種可供選擇的:
a. # cat id_rsa.pub >> authorized_keys
(顯示的,這是一種追加形式,可以滿足要求)
b. # mv id_rsa.pub authorized_keys2
(這個不錯啊,筆者本人也是蠻喜歡這種方式的)
4. scp -p
scp -p 這個操作還是蠻有用的,可以保持文件屬性不變。
$ scp -p [email protected]:/root/scrun.log .
(複製了遠程機器上的scrun.log到當前目錄下".",並且文件屬性沒有改變哦,
創建時間之類的都沒改變啊)
5. scp -r
scp -r 這個r選項大家應該是熟悉的吧,不熟悉,自己罵自己一直在幹嘛吧,r顯示是
recursion即遞歸的意思啊,cp操作中都帶的,想必也是很容易猜測r在這裏是什
麼意思吧,是可以傳遞文件夾(夾帶了文件的傳輸哦)
$ scp -r SVN/ [email protected]:/root/
(OK, 傳輸成功了)