Mac上无法ssh localhost

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章