我正在尝试在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?或者我可能会遇到另一个问题(也许不正确地生成密钥?)
答案 0 :(得分:166)
我认为您的端口可能已打开,但您没有任何可以侦听的端口。
Apple Mac OS X操作系统默认安装了SSH,但是 SSH守护程序未启用。这意味着您无法远程登录或 在启用它之前进行远程复制。
要启用它,请转到“系统偏好设置”。在'Internet&网络'有一个'共享'图标。跑吧。在列表中 出现,请选中“远程登录”选项。在OS X Yosemite及以上版本中,不再有“Internet& amp;网络菜单;它被移到了账户。 “共享”菜单现在在“系统首选项”主菜单上有自己的图标。 (thx @AstroCB)
这会立即启动SSH守护程序,您可以远程登录 使用您的用户名。 “共享”窗口在底部显示名称 和要使用的IP地址。你也可以使用'whoami'来找到它 来自终端应用程序的'ifconfig'。
这些说明是从Enable SSH in Mac OS X复制的,但我想确保它们不会消失并提供快速访问。
答案 1 :(得分:24)
我正在使用OSX 10.11.6而this article适用于我。
答案 2 :(得分: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
答案 3 :(得分:0)
等待,等待。.
有3种解决方案。
1)使用以下命令启用远程登录 - sudo systemsetup -setremotelogin on
2)在Mac中,转到系统偏好设置->共享->启用远程登录 而已。 100%有效的解决方案
3)最重要的最终解决方案是-检查您的专用局域网连接。有时不允许在局域网内进行远程登录。
请尝试使用个人网络(例如移动网络,热点等)连接计算机。
希望您得到了答案...
答案 4 :(得分:0)