87

我正在尝试在 osx 上打开端口 22,以便可以使用 ssh 连接到 localhost。这是我目前的情况:

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怎么开?还是我会遇到另一个问题(可能是生成的密钥不正确?)

4

6 回答 6

191

我认为您的端口可能是开放的,但您没有任何东西可以监听它。

Apple Mac OS X 操作系统默认安装了 SSH,但未启用 SSH 守护程序。这意味着您无法远程登录或进行远程复制,直到您启用它。

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

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

这些说明是从Mac OS X 中的 Enable SSH复制而来的,但我想确保它们不会消失并提供快速访问。

于 2011-06-11T03:52:27.467 回答
35

我正在使用 OSX 10.11.6,这篇文章对我有用。

在此处输入图像描述

于 2017-02-04T07:40:38.220 回答
12

有 3 种解决方案可用于这些。

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

2) 在 Mac 中,转到系统偏好设置 -> 共享 -> 启用远程登录就可以了。100% 工作解决方案

3)最后也是最重要的解决方案是- 检查您的专用区域网络连接。有时在局域网内不允许远程登录。

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

于 2019-10-24T11:43:56.403 回答
3

根据 macOS 10.14.5,以下是详细信息:

系统偏好 > 共享 > 远程登录。

于 2020-01-20T07:19:47.297 回答
3

如果您尝试从终端窗口启用远程登录,您可能会收到“全盘权限问题”。或者,您可以从Apple Icon -> System Preferences -> Sharing启用它

我正在使用Mac-bigSur,这就是我在我的机器上启用它的方式

在此处输入图像描述

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

于 2021-04-01T04:40:28.897 回答
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  
于 2016-05-15T05:54:18.917 回答