Raspberry Pi 上的 ssh 连接被拒绝 [关闭]
Posted
技术标签:
【中文标题】Raspberry Pi 上的 ssh 连接被拒绝 [关闭]【英文标题】:ssh connection refused on Raspberry Pi [closed] 【发布时间】:2017-05-10 04:07:33 【问题描述】:我意识到这个问题已经以一些不同的方式被问过,但是我遇到的任何方式似乎都无法解决这个问题,所以就这样吧:
我正在尝试通过笔记本电脑上的 ssh 连接到我的 raspberry pi 3 raspbian 设置,但是虽然我的 IP 地址正确,但我不断收到错误消息:
ssh: connect to host xxx.xxx.xx.x port 22: connection refused.
这很不寻常,因为当我尝试 ping 该地址时,它工作正常。有什么我可以尝试找出问题所在吗?
另外请记住,我对 linux 中的 bash 相对缺乏经验,因此将不胜感激包含任何特定命令并描述它们的作用。
【问题讨论】:
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops? 还有一个Raspberry Pi Stack Exchange。 因为它有点隐藏,但对大多数人来说很重要“对于无头设置,可以通过将名为ssh
的文件(不带任何扩展名)放在 SD 的引导分区上来启用 SSH来自另一台计算机的卡。”
【参考方案1】:
显然,Raspbian 上的 SSH 服务器现在默认禁用。如果没有服务器监听连接,它将不接受它们。你可以根据这个raspberrypi.org tutorial手动开启SSH服务器:
从 2016 年 11 月版本开始,Raspbian 默认禁用 SSH 服务器。
现在有多种方法可以启用它。 选择一个:
从桌面
从
Preferences
菜单启动Raspberry Pi Configuration
导航到Interfaces
选项卡 选择SSH
旁边的Enabled
点击OK
从终端使用raspi-config
在终端窗口中输入
sudo raspi-config
选择Interfacing Options
导航并选择SSH
选择Yes
选择Ok
选择Finish
用systemctl
启动SSH服务
sudo systemctl enable ssh sudo systemctl start ssh
在无头树莓派上
对于无头设置,可以通过将名为
ssh
的文件(不带任何扩展名)放在 SD 卡的引导分区上来启用 SSH。当 Pi 启动时,它会查找ssh
文件。如果找到,则启用 SSH,并删除该文件。文件的内容无关紧要:它可以包含文本,也可以不包含任何内容。
【讨论】:
谢谢你,这很完美!考虑到这是连接设备的主要方式之一,默认禁用 ssh 是一个相当奇怪的决定…… 有什么方法可以在无头配置中做到这一点?教程说在引导目录中放置一个名为“ssh”的文件,但这不起作用。 对于可能发现此问题的其他人,问题是如果在第一次成功 SSH 连接之前未正确重启 RPi,则必须重新映像 SD 卡。一旦我这样做并添加了空的“ssh”文件,它就起作用了。 哇,这对 RPi 社区来说是一个愚蠢的举动。所以现在即使我下载了无桌面版本,我仍然需要设置一个桌面来启用 SSH 吗?多么痛苦。 如果 ssh 文件包含要启用的用户名和密码会更有意义【参考方案2】:我认为 pi 默认启用了 ssh 服务器。我的总是开箱即用。可能取决于哪个操作系统版本。
对我来说,大多数时候它失败是因为 IP 地址已更改。也许您现在正在 ping 其他东西?有时他们只是拒绝连接并需要重新启动。
【讨论】:
现在默认情况下似乎是禁用的。这里的错误是“连接被拒绝”,而不是延迟之后是“操作超时”——如果你的 ip 发生了变化,就会发生这种情况。假设另一台设备可能已经获取了 ip 并拒绝连接。以上是关于Raspberry Pi 上的 ssh 连接被拒绝 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在我的 Raspberry Pi 上从 Gitlab.com 克隆 Repo 时权限被拒绝(公钥)
树莓派(Raspberry Pi 3) 使用wifi模块连接网络
Android Things:Raspberry Pi 上的 ADB over USB