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
1.https://stackoverflow.com/questions/6313929/how-do-i-open-port-22-in-os-x-10-6-7