需求:當須要管理多臺服務器的時候,來回切換主機的時候輸入密碼是件很麻煩的事,這時候即可以利用ssh-keygen免密碼登陸。centos
簡單原理機過程:若A須要免密碼登陸B,則使用ssh-keygen在A上生成相應密鑰對,再使用ssh-copy-id將生成的公鑰發送到遠程主機A上。bash
具體操做服務器
A上執行:ssh
[root@chen ~]# ssh-keygen #生成相應密鑰對,若初次使用,則會出現幾回停頓,直接敲回車保持默認就好了 [root@chen ~]# ssh-copy-id root@119.29.197.99 #執行此命令事後,輸入遠程主機B的root密碼,ssh-copy-id工具便可將本機的公鑰發送過去,被配置 好相應權限(這些都不用管,保持默認就好) [root@chen ~]# ssh root@119.29.197.99 Last login: Fri Nov 4 10:39:53 2016 from 117.174.247.158 [root@VM_116_108_centos ~]# #配置完成後,直接ssh遠程主機B便可完成免密碼登陸
提示:若以前有個密鑰登陸的配置,再次配置時,會出現如下錯誤:
ide
Now try logging into the machine, with "ssh 'root@192.168.5.129'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
錯誤翻譯:工具
如今嘗試登陸到機器,用「ssh'root@192.168.5.129'」,並檢入:翻譯
.ssh / authorized_keysit
以確保咱們沒有添加您沒有指望的額外的密鑰。ast
錯誤緣由:class
以前有過相應配置,再次配置時,當執行ssh-copy-id root@192.168.5.129,而且輸入對應root密碼後,其實就已經配置成功了,這裏只是提示咱們,嘗試ssh登陸如下遠程主機,確保沒有增長額外的密鑰(因爲以前有過相似操做,主機檢測到相應文件中還有相似的密鑰)。因此,此時咱們只需嘗試ssh登陸遠程主機就好了。
[root@chen ~]# ssh root@119.29.197.99 Last login: Fri Nov 4 10:39:53 2016 from 117.174.247.158
能免密鑰登陸,說明配置沒問題。