Reference
需求
節(jié)點(diǎn) A 要 ssh 免密碼登陸節(jié)點(diǎn) B。
生成密鑰 Generate Key
節(jié)點(diǎn) A 和 節(jié)點(diǎn) B 都要產(chǎn)生密鑰,并且要注意是否在 root 用戶下。登陸對象是用戶,而不是機(jī)器,所以產(chǎn)生密鑰前先從 root 或者其他用戶切換到你所需要的用戶,然后執(zhí)行命令,然后三次無輸入回車確認(rèn)即可,最終會(huì)打印出一個(gè)密鑰。
ssh-keygen -t rsa
將產(chǎn)生的公鑰追加到自己的授權(quán)列表中
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
節(jié)點(diǎn) A 公鑰追加到節(jié)點(diǎn) B 的授權(quán)列表中
打開 id_rsa.pub,將完整的公鑰追加粘貼到節(jié)點(diǎn) B 的 ~/.ssh/authorized_keys 文件末尾。
節(jié)點(diǎn) A 登陸節(jié)點(diǎn) B
首次遠(yuǎn)程登錄,需要輸入 yes,以后就可以免密碼登陸了。還有一個(gè)細(xì)節(jié),如果兩臺機(jī)器的用戶名相同,可以省略用戶名,直接按照主機(jī)名或 ip 名稱登陸。
ssh 用戶名@主機(jī)名或者 IP
成功后會(huì)顯示 welcome to ...
有些人提到要修改 authrized_keys 的權(quán)限,但我這里好像不修改也沒問題,不知道是否遇到了特殊情形。
總結(jié)
使用 ssh 免密碼登陸,其實(shí)就是利用生成的公鑰,將公鑰作為授權(quán)對象,某個(gè)用戶的授權(quán)列表中加入了別的用戶的公鑰,就可以讓別的用戶免密碼登陸這個(gè)用戶了。