用root登錄,先敲個 `ssh-keygen`,一路回車就行,別改啥默認設置。然后把生成的公鑰(id_rsa.pub)搞到目標機器上,命令是:`ssh-copy-id root@192.168.1.x`。接著試試能不能免密登錄:`ssh 192.168.1.x`,第一次可能還要輸密碼,正常。
要是連不上,先排查這幾個點:
1. 看看目標機的 `~/.ssh/authorized_keys` 權限對不對,改成700:
`chmod 700 ~/.ssh/authorized_keys`
2. 檢查 `/etc/ssh/sshd_config` 這個配置文件:
把
`StrictModes yes`
改成
`StrictModes no`
再把
`AuthorizedKeysFile .ssh/authorized_keys`
改成
`AuthorizedKeysFile .ssh/authorized_keys`(去掉前面的)
3. 本地刪一下 `~/.ssh/known_hosts` 文件,避免有舊記錄沖突。
4. 最后重啟下ssh服務:
`service sshd restart`
如果還是登不進去,就看看防火墻和selinux開沒開:
查selinux狀態(tài):`/usr/sbin/sestatus -v`
查防火墻:`systemctl status firewalld`
要是都開著,建議先關掉試試(特別是測試環(huán)境):
`systemctl stop firewalld`
selinux臨時關閉:`setenforce 0`
想讓目標機器也能免密回連回來?一樣的操作,反過來再走一遍流程就行。
記得每步操作完都檢查下有沒有報錯,圖片那些就不看了,反正你也貼不了……照著步驟來基本都能搞定。
要是連不上,先排查這幾個點:
1. 看看目標機的 `~/.ssh/authorized_keys` 權限對不對,改成700:
`chmod 700 ~/.ssh/authorized_keys`
2. 檢查 `/etc/ssh/sshd_config` 這個配置文件:
把
`StrictModes yes`
改成
`StrictModes no`
再把
`AuthorizedKeysFile .ssh/authorized_keys`
改成
`AuthorizedKeysFile .ssh/authorized_keys`(去掉前面的)
3. 本地刪一下 `~/.ssh/known_hosts` 文件,避免有舊記錄沖突。
4. 最后重啟下ssh服務:
`service sshd restart`
如果還是登不進去,就看看防火墻和selinux開沒開:
查selinux狀態(tài):`/usr/sbin/sestatus -v`
查防火墻:`systemctl status firewalld`
要是都開著,建議先關掉試試(特別是測試環(huán)境):
`systemctl stop firewalld`
selinux臨時關閉:`setenforce 0`
想讓目標機器也能免密回連回來?一樣的操作,反過來再走一遍流程就行。
記得每步操作完都檢查下有沒有報錯,圖片那些就不看了,反正你也貼不了……照著步驟來基本都能搞定。
