0.背景

在Hadoop的偽分散式等場景中,我們需要主機可以ssh到自身啟動守護程序,所以需要無密碼登入localhost。

1.正常的流程

在其他Unix-like的系統中,我們使用一下方式即可。

ssh-keygen -t -rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

關於authorized_keys,如果A要無密碼登入B,則需要把A的公鑰寫入B的authorized_keys中國。這裡A/B均是自身。

2.Mac系統的問題

Mac系統預設不能被遠端登入(自己遠端登入自己同樣屬於)。

所以,在使用以上配置後,鍵入ssh localhost會出現以下提示。

ssh: connect to host localhost port 22: Connection refused

解決方法:開啟系統偏好,在右上角搜尋框中鍵入“網際網路共享”或者“Internet sharing”。在開啟的頁面中,勾選中左邊的“遠端登入”或者“Remote Login”即可。

Reference