如何在OS X 10.6.7中打开22端口

93

我正在尝试在OSX上打开22端口,这样我就可以使用ssh连接到本地主机。这是我的当前情况:

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

一次“网络工具”端口扫描证实22号端口(惊人的是23号端口)已关闭。

背景:我正在本地安装Hadoop,我的配置中,我正在localhost:####s上运行服务,并需要通过ssh打开与它们的通信。

如何打开22?或者我可能遇到了另一个问题(可能是没有正确生成密钥?)

6个回答

198

我认为您的端口可能已经打开,但是没有任何程序在监听它。

苹果Mac OS X操作系统默认安装了SSH,但是SSH守护程序未启用。这意味着在启用之前,您无法远程登录或进行远程拷贝。

要启用它,请进入“系统偏好设置”,在“互联网和网络”下找到“共享”图标。运行该程序,在出现的列表中选中“远程登录”选项。在OS X Yosemite及更高版本中,不再存在“互联网和网络”菜单,而是移至“账户”下。此时,“共享”菜单已经有了自己的图标,并位于主系统偏好设置菜单中。(感谢@AstroCB)

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

这些说明来自在Mac OS X中启用SSH,但我想确保它们不会消失并提供快速访问。


1
我无法理解你所做的事情。请确切地指出分享图标的位置。请帮帮我。 - Divyang Shah
它位于“系统偏好设置”下,可在顶部的苹果菜单下找到。 - Haukman
请确保您已经启用了“允许所有用户访问”选项,如果您不是管理员。 - Donato
13
FYI:在OS X Yosemite及以上版本中,不再有“Internet&Networking”菜单;它已移至“帐户”菜单。共享菜单现在在主系统偏好设置菜单中拥有自己的图标。 - AstroCB

36

链接已损坏。 - Farhan

16

这有三个解决方案可供选择。

1)使用以下命令启用远程登录: - sudo systemsetup -setremotelogin on

2)在Mac上,转到“系统偏好设置->共享->启用远程登录”就可以了。100%有效的解决方案。

3)最终且最重要的解决方案是 - 检查您的私人区域网络连接。有时不允许在本地区域网络内进行远程登录。

请尝试使用个人网络(如移动网络、热点等)连接您的机器。


7
如果您尝试从终端窗口启用远程登录,则可能会遇到“完整磁盘权限问题”。或者,您可以从 Apple图标 -> 系统偏好设置 -> 共享中启用它。
我正在使用 Mac-bigSur ,以下是我在我的机器上启用它的方法。

enter image description here

您还可以允许特定用户访问。


4
根据macOS 10.14.5版本,以下是详细步骤:
前往系统偏好设置 > 共享 > 远程登录。

这是最简单的方法!谢谢! - linjiejun

0

我无法解决这个问题;然后我按照以下步骤操作,问题得到了解决: 请参考这里

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  

2
我按照这个过程操作后得到了“34720 0 com.openssh.sshd.long_string_of_digits_and_numbers”,但是“ssh username@IP_address”仍然显示“ssh: connect to host IP_address port 22: Connection refused”。 - Gene Arboit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接