树莓派上的SSH连接被拒绝

111

我意识到这个问题已经以一些不同的方式被问过了,然而似乎我遇到的任何方式都没有解决这个问题,所以我在这里提出:

我正在尝试通过我的笔记本电脑上的ssh连接到我的树莓派3 raspbian设置,但尽管我拥有正确的ip地址,我仍然不断收到错误信息:

ssh: connect to host xxx.xxx.xx.x port 22: connection refused.

这很不寻常,因为当我尝试ping那个地址时,它正常工作。有什么我可以尝试来找出问题所在吗?

此外请注意,我在Linux的bash方面相对缺乏经验,因此包含任何带有描述其功能的特定命令将不胜感激。


Stack Overflow是一个面向编程和开发问题的网站。这个问题似乎不适合讨论,因为它与编程或开发无关。在帮助中心中查看我可以在这里询问哪些主题。也许Super UserUnix & Linux Stack Exchange是更好的提问地点。同时,请参阅我应该在哪里发布有关DevOps的问题? - jww
还有一个Raspberry Pi Stack Exchange - e0k
1
由于这段话有些埋没在下面,但对大多数人来说很重要:“对于无头设置,可以通过从另一台计算机将名为ssh的文件(没有任何扩展名)放置到SD卡的引导分区上来启用SSH。” - Hartley Brody
2个回答

257

显然,Raspbian上的SSH服务器现在默认情况下已禁用。如果没有服务器监听连接,则不会接受它们。您可以根据此raspberrypi.org教程手动启用SSH服务器:

自2016年11月发布以来,Raspbian默认情况下已禁用SSH服务器。

现在有多种方法可以启用它。选择一种

从桌面启用

  1. Preferences菜单中启动Raspberry Pi Configuration
  2. 导航到Interfaces选项卡
  3. SSH旁边选择Enabled
  4. 点击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。当树莓派启动时,它会查找 ssh 文件。如果找到,SSH就会被启用,并删除该文件。文件的内容无关紧要:它可以包含文本,也可以什么都不包含。


4
谢谢,这个方法非常有效!禁用ssh默认设置是一个相当奇怪的决定,考虑到这是与设备交互的主要方式之一... - Matt
14
有没有一种无头配置的方法来实现这个?教程中说要在启动目录下放置一个名为“ssh”的文件,但是这样做不起作用。 - Jeff
16
对于其他可能遇到这个问题的人,问题在于如果在第一次成功的SSH连接之前未正确重新启动树莓派,SD卡将必须重新镜像。 我重新启动后添加了一个空的“ssh”文件,然后它就可以正常工作了。 - Jeff
13
哇,这是树莓派社区的一个愚蠢之举。现在即使我下载了无桌面版本,我仍然需要设置一个桌面环境才能启用SSH吗?真是太麻烦了。 - Cerin
3
2022年4月,树莓派官网的一篇博客文章宣布,程序已经更改:“为了在第一次启动时设置一个用户并完全绕过向导,请在SD卡的引导分区中创建一个名为userconf或userconf.txt的文件; [...]此文件应包含一行文本,由用户名:加密密码组成-因此您想要使用的所需用户名,后面紧接着一个冒号,再后面是密码的加密表示。” (https://www.raspberrypi.com/news/raspberry-pi-bullseye-update-april-2022/) - Ishidres
显示剩余8条评论

-7

我认为树莓派默认启用了SSH服务器。我的一直可以直接使用,可能取决于操作系统版本。

大多数情况下,如果连接失败,可能是因为IP地址已更改。也许你现在正在ping其他东西?有时候它们会拒绝连接并需要重新启动。


似乎现在默认情况下已被禁用。这里的错误是“连接被拒绝”,而不是延迟后跟随的“操作超时” - 如果IP地址更改,则会发生后者。当然,另一台设备可能已经使用了该IP地址并且正在拒绝连接。 - Ed_

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