設置使用ssh、scp連接對方服務器的時候不需要輸入密碼,我們在復制/移動文件到另一臺機器時會用到scp,因為它比較安全。但如果每次都要輸入密碼,尤其是晚上自動備份是很實用的。ssh有另一種用密鑰對來驗證的方式。
第一步:生成密匙對,我用的是rsa的密鑰。使用命令 "ssh-keygen -t rsa"
[root@test ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
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:
46:ed:89:18:f8:30:04:41:f5:72:b2:e6:66:27:20:73 root@test.test.com
[root@test ~]$
生成的過程中提示輸入密鑰對保存位置,直接回車,接受默認值就行了。接著會提示輸入一個不同于你的password的密碼,直接回車,讓它空著。這樣,密鑰對就生成完了。
其中公共密鑰保存在 ~/.ssh/id_rsa.pub
私有密鑰保存在 ~/.ssh/id_rsa
然后改一下 .ssh 目錄的權限,使用命令 "chmod 755 ~/.ssh"
[root@test ~]$ chmod 755 ~/.ssh
[root@test ~]$
之后把這個密鑰對中的公共密鑰復制到你要訪問的機器上去,并保存為
~/.ssh/authorized_keys(可以使用命令chatter +i authorized_keys,這樣就算是root也不能刪除修改,取消chatter -i authorized_keys即可);之后你再用ssh scp sftp 之類的訪問那臺機器時,就不用輸入密碼了,用在script上更是方便。