ssh 無(wú)密碼登錄要使用公鑰與私鑰。
linux下可以用ssh-keygen生成公鑰/私鑰對(duì)。
有機(jī)器A(tom),B(pete)。現(xiàn)想A通過(guò)ssh免密碼登錄到B。
- 以目標(biāo)賬戶登錄A生成公鑰/私鑰對(duì)。
[tom@v05-dev-env10 ~]$ ssh-keygen -t rsa -P ''
-P '' 就表示空密碼,也可以不用-P參數(shù),這樣就要三次回車,用-P就一次回車。
該命令將在當(dāng)前賬戶.ssh目錄下面產(chǎn)生一對(duì)密鑰,私鑰:id_rsa和公鑰:id_rsa.pub。
下述命令產(chǎn)生不同類型的密鑰
- ssh-keygen -t dsa
- ssh-keygen -t rsa
- ssh-keygen -t rsa1
- 在B機(jī)器下建建立文件夾
[pete@localhost ~]$ mkdir ~/.ssh
把A機(jī)下的~/.ssh/id_rsa.pub 復(fù)制到B機(jī)的 ~/.ssh/authorized_keys文件里
[tom@v05-dev-env10 ~]$ scp ~/.ssh/id_rsa.pub pete@10.20.7.190:/home/pete/.ssh/authorized_keys
注意如果之前有authorized_keys這條命令會(huì)把文件覆蓋
- 在B機(jī)器把.ssh文件夾及authorized_keys文件權(quán)限,要保證.ssh和authorized_keys都只有用戶自己有寫權(quán)限。否則驗(yàn)證無(wú)效
[pete@localhost ~]$ chmod 700 .ssh
[pete@localhost ~]$ chmod 600 .ssh/authoized_keys
- 在A機(jī)器執(zhí)行ssh登陸B(tài)
[tom@v05-dev-env10 ~]$ ssh -l pete 10.20.7.190