在Raspberry Pi上拒绝ssh连接

Mat*_*att 83 linux ssh sshd raspberry-pi3

我意识到这个问题已经以某种不同的方式被问到了,但是我似乎并没有找到任何解决这个问题的方法,所以这里有:

我正试图通过我的笔记本电脑上的ssh连接到我的覆盆子pi 3 raspbian设置,但是虽然我有正确的IP地址,但我一直收到错误:

ssh: connect to host xxx.xxx.xx.x port 22: connection refused.
Run Code Online (Sandbox Code Playgroud)

这是不寻常的,因为当我尝试ping该地址时,它工作正常.有什么我可以试着找出什么是错的吗?

另外请记住,我对linux中的bash相对缺乏经验,因此非常感谢包含任何特定命令及其所做的描述.

e0k*_*e0k 178

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

截至2016年11月发布,Raspbian默认禁用SSH服务器.

现在有多种方法可以启用它. 选择一个:

从桌面

  1. Raspberry Pi ConfigurationPreferences菜单启动
  2. 导航到Interfaces选项卡
  3. 选择Enabled旁边的SSH
  4. 点击 OK

从终端用 raspi-config

  1. 进入sudo raspi-config终端窗口
  2. 选择 Interfacing Options
  3. 导航到并选择 SSH
  4. 选择 Yes
  5. 选择 Ok
  6. 选择 Finish

使用启动SSH服务 systemctl

sudo systemctl enable ssh
sudo systemctl start ssh
Run Code Online (Sandbox Code Playgroud)

在无头的Raspberry Pi上

对于无头设置,可以通过将名为ssh(无任何扩展名)的文件放置到SD卡的引导分区来启用SSH .当Pi启动时,它会查找该ssh文件.如果找到,则启用SSH,并删除该文件.文件的内容无关紧要:它可能包含文本,或者根本没有.

  • 有什么办法在无头配置中做到这一点?该教程说要在启动目录中放置一个名为"ssh"的文件,但这不起作用. (10认同)
  • 对于可能发现这种情况的其他人来说,问题是如果在第一次成功连接SSH之前没有正确地重新启动RPi,则必须重新映像SD卡.一旦我这样做并添加了空的"ssh"文件,它就有效了. (10认同)
  • 哇,这对RPi社区来说是一个愚蠢的举动.那么即使我下载无桌面版本,我仍然需要设置桌面才能启用SSH?太痛苦了. (6认同)
  • 谢谢,这完美无缺!这是一个相当奇怪的决定,默认情况下禁用ssh,因为这是连接设备的主要方式之一...... (4认同)
  • 2022 年 4 月,该过程发生了变化,如 raspberrypi.com 上的一篇博客文章中所宣布的:“要在首次启动时设置用户并完全绕过向导,请在 SD 的启动分区中创建一个名为 userconf 或 userconf.txt 的文件卡; [...] 该文件应包含一行文本,其中包含用户名:加密的密码 - 即您所需的用户名,后跟冒号,后跟您要使用的密码的加密表示形式。 ” (https://www.raspberrypi.com/news/raspberry-pi-bullseye-update-april-2022/) (3认同)
  • 如果ssh文件包含要启用的用户名和密码,那将更有意义 (2认同)