2011-06-11 38 views
65

我想在osx上打开端口22,以便我可以使用ssh连接到本地主机。这是我目前的状况:如何在OS X中打开端口22 10.6.7

ssh localhost 
ssh: connect to host localhost port 22: Connection refused 

我已经生成的密钥,并把它丢到我的authorized_keys文件,如下所示:

sh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 

A“网络实用工具”端口扫描证实,22(和令人惊讶的23)已关闭。

上下文:我正在努力让Hadoop在本地建立。在我的配置中,我在localhost上运行服务:#### s并需要通过ssh打开与他们的通信。

如何打开22?或者我可能会遇到另一个问题(不正确地生成密钥也许?)

回答

153

我认为你的端口可能是开放的,但你没有任何听它。

默认情况下,Apple Mac OS X操作系统默认安装了SSH,但是 SSH守护程序未启用。这意味着您不能远程登录,或者在启用远程副本之前执行此操作。

要启用它,请转到'系统偏好设置'。在“互联网&联网”下有一个“共享”图标。运行它。在出现的列表 中,选中“远程登录”选项。在OS X Yosemite及以上版本中,不再有'Internet & Networking'菜单;它被转移到帐户。共享菜单现在在主系统首选项菜单上有它自己的图标。 (thx @AstroCB)

这会立即启动SSH守护程序,您可以使用您的用户名远程登录 。 '共享'窗口在底部显示名称 和要使用的IP地址。您还可以使用终端应用程序中的'whoami'和 'ifconfig'来查找。

这些说明复制自Enable SSH in Mac OS X,但我想确保它们不会消失并提供快速访问。

+0

我不明白你做了什么。确切的分享图标可用。请帮帮我。 – 2014-08-11 09:24:06

+0

它位于系统偏好设置下,位于顶部Apple菜单下。 – Haukman 2014-08-12 16:36:48

+0

如果您不是管理员,请确保您拥有“允许所有用户访问”。 – Donato 2015-04-09 17:39:20

0

我无法解决问题;然后,我做了以下内容和问题解决: 参考here

sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist 
    (Supply your password when it is requested) 
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 
ssh -v localhost 
sudo launchctl list | grep "sshd" 
    46427 - com.openssh.sshd 
+0

我遵循这个过程,得到了'34720 com.openssh.sshd。long_string_of_digits_and_numbers',但'ssh username @ IP_address'仍然给我'ssh:连接到主机IP_address端口22:连接被拒绝' – 2016-07-25 20:22:36

13

我使用OSX 10.11.6和this article为我工作。

enter image description here

+0

该链接不再有效 – 2017-09-26 16:02:02

相关问题