ssh無密碼登錄需要使用公鑰和私鑰
例如: 用戶從A機(jī)器通過終端登錄B機(jī)器192.168.1.181
1逻住、命令行終端:
1, 生成密鑰對(duì)
ssh-keygen -t rsa -P ''
-P表示密碼,-P '' 就表示空密碼迎献,也可以不用-P參數(shù)瞎访,這樣就要三車回車,用-P只需要一次回車吁恍。
3,設(shè)置私鑰權(quán)限
chmod 600 id_rsa
2, 把A機(jī)器下的id_rsa.pub拷貝到B機(jī)器的用戶目錄下
scp .ssh/id_rsa.pub wangwei@192.168.1.181:/home/wangwei/id_rsa.pub
3, 使用密碼登錄到B機(jī)器扒秸,并將公鑰拷貝到文件~/.ssh/authorzied_keys中
#登錄到B機(jī)器
ssh wangwei@@192.168.1.181
#輸入登錄密碼
cd ~/.ssh
#導(dǎo)入公鑰內(nèi)容到authorzied_keys
cat id_rsa.pub >> .ssh/authorzied_keys
#設(shè)置權(quán)限
chmod 600 authorized_keys
authorized_keys的權(quán)限必須要是600
此時(shí)A機(jī)器可以無密碼登錄B機(jī)器了
ssh wangwei@192.168.1.181
2、shell腳本中:
一般情況下冀瓦,在A機(jī)器中的腳本中我門登錄到B機(jī)器后需要做一系列的操作然后退出返回到A機(jī)器進(jìn)行其它操作時(shí)會(huì)用到
ssh -i ~/.ssh/id_rsa root@$server <<!
#登錄B機(jī)器后的操作伴奥,此時(shí)會(huì)阻塞,直到退出B機(jī)器后才會(huì)進(jìn)行A機(jī)器其它操作
exit
!
#退出后返回A機(jī)器后其它操作
常見錯(cuò)誤
Permissions 0644 for '/root/.ssh/id_dsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /root/.ssh/id_dsa
Permission denied, please try again.
Permission denied, please try again.
遇到此類錯(cuò)誤翼闽,一般是由于權(quán)限問題拾徙。以上錯(cuò)誤為私鑰權(quán)限過大。應(yīng)該將權(quán)限設(shè)置為600感局,chmod 600 id_rsa