linux下SCP無密碼傳輸(建立互信關係)

神諭丶發表於2015-01-15
SCP在傳輸檔案的時候,總需要輸入密碼,如果在自動化的情況下,很不方便。
但是透過建立信任關係,可以免去傳輸時輸入密碼





1.在傳輸機A上做操作:

[dev@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dev/.ssh/id_rsa): (此處按回車
Enter passphrase (empty for no passphrase): (此處按回車,如果輸入密碼,就多此一舉了)
Enter same passphrase again: (繼續回車)
Your identification has been saved in /home/dev/.ssh/id_rsa.
Your public key has been saved in /home/dev/.ssh/id_rsa.pub.
The key fingerprint is:
6f:e9:36:d7:97:f0:ba:13:f7:0d:1b:1e:c9:ed:a3:96 dev@localhost
The key's randomart image is:
(image略)


 然後
cd /home/dev/.ssh

[dev@localhost .ssh]$ scp id_rsa.pub dev@192.168.1.210:/home/dev/.ssh/  (此處我的接受機的IP及使用者名稱分別為dev和192.168.1.210,這裡按你自己的實際情況來)
id_rsa.pub                                          100%  396     0.4KB/s   00:00


2.在接收機B上做操作:
su - dev    (切到你的接收機的接收使用者下

[dev@web .ssh]$ cd /home/dev/.ssh
[dev@web .ssh]$ ls
id_rsa.pub  known_hosts
[dev@web .ssh]$ cat id_rsa.pub >> authorized_keys   



至此,已經建立好信任關係。

可以再次執行一條scp命令,此時已經不需要再輸入密碼。

某些情況下,可能需要在接收機B上修改許可權才可生效。

同樣,如果想要實現雙機互傳,反過來做一次就行了。
或者透過改變scp的寫法也可以實現。

scp local_file user@192.168.x.x/...
換為 scp user@192.168.x.x:/... local_dir 即可

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

相關文章