openssh是SSH (Secure SHell) 協議的免費開源實現。SSH協議族可以用來進行遠程控制, 或在計算機之間傳送文件。
這就意味着遠程登陸,文件推拉特別是搭建集群后公鑰的部署,經常要利用到openssh。本人之前搭建hadoop集群模式的時候,公鑰投送就和ssh相關,如今搭建ansible測試環境的時候,再一次用到了ssh相關技術。
在向被管控機器投送公鑰的時候,使用到了ssh-copy-id命令,但提示我connection refused。連輸入密碼那一步都沒到,可見是直接進行了拒絕,和密碼驗證這些模塊都沒有關系。
會不會是防火牆本身原因或者是協議控制,或者是端口占用?下面這篇文章給出了10種可能。
https://www.helplib.com/ubuntu/article_157064
但很可惜,經過我的測試,在我的機子上這幾種都不是。都不是。。。
簡直心態爆炸有沒有。多虧同組大佬,通過豐富經驗,看到被登錄的主機用戶為root,考慮是不是被控機禁止ssh登錄root的問題。要檢查這個問題,我們需要查看/etc/ssh/sshd_config這個文件。如下圖
果然,這里有個選項
該選項禁止了root的登錄。我們把這一項改成yes。並保存后退出。
在繼續操作之前,記得重新啟動一下sshd服務~不然的話配置文件不會生效的哦~【具體可百度:centos如何重啟sshd服務】
之后再回到主控機上進行公鑰復制操作,發現得到了正常響應!
最后,就是激動人心的時刻,驗證ansible的ping操作。
ping,pong!