1_树莓派开启ssh服务

本文详细介绍如何在树莓派上开启SSH服务,包括使用管理工具进行设置、启动及自动启动服务的方法。同时,解决因主机密钥问题导致的远程连接失败,确保SSH服务稳定运行。

树莓派3 开启 SSH 服务

原文链接:https://blog.youkuaiyun.com/qq_16775293/article/details/88385393

文章目录

 


转自:https://blog.youkuaiyun.com/HOOLOO/article/details/78682413


树莓派系统的安装非常简单。但是装完系统之后为了能远程连上费了不少时间。

先按照官方文档来

1. 使用管理工具

  • 在命令框中输入下述命令
 sudo raspi-config
  • 1
  • 使用键盘的上、下、左、右按键选择Interfacing选项,回车确认。
  • 使用键盘的上、下、左、右按键选择SSH选项,回车确认。
  • 使用键盘的上、下、左、右按键选择Yes选项,回车确认。
  • 使用键盘的上、下、左、右按键选择Ok选项,回车确认。
  • 使用键盘的上、下、左、右按键选择Finish选项,回车确认。

2. 启动服务

在命令框中输入下述命令

    sudo systemctl enable ssh
    sudo systemctl start ssh
  • 1
  • 2

3. 自动启动服务

如果要ssh能随系统一起启动,则需要在tf卡的根目录下创建一个空白的文件,文件名叫:ssh

3.1 Windows下

  将TF卡取下来,插在电脑上,在windows下只能现实boot文件夹,打开该目录,新建txt文件,随后将文件的后缀.txt去掉,即可。

3.2 Linux下

在根目录下输入使用vim创建新文件。
在命令框中输入下述命令,回车

vim ssh
  • 1

并输入:wq,回车,保存并推出编辑,即可。

然后插回树莓派,正常情况下系统会识别到这个文件,并开启自动启动,然后这个文件会被自动删除。

此时使用putty连上来时不会再提示链接被重置。不过又出了另一个错误提示:

Server unexpectedly closed network connection
  • 1

尝试了所有找到的方法,无果。

无意间调用 service sshd status时发现提示信息里说

Could not load host key: /etc/ssh/ssh_host_rsa_key
  • 1

于是去查了下/etc/ssh/下面的ssh_host_rsa_key文件,该文件无内容,并且所有ssh_host_开头的文件都是没有内容。这就有点问题了。

问题找到,首先把/etc/ssh下的所有ssh_host_开头的文件删除,然后执行:

sudo dpkg-reconfigure openssh-server
  • 1

提示:

Creating SSH2 RSA key; this may take some time ...

Creating SSH2 DSA key; this may take some time ...

Creating SSH2 ECDSA key; this may take some time ...
  • 1
  • 2
  • 3
  • 4
  • 5

如果不删除原来的文件,它是不会有任何操作的,因为文件已经存在了。

此时再查看key文件,里面已经重新生成了key。

再试试远程ssh,通过。

本文链接:https://blog.youkuaiyun.com/HOOLOO/article/details/78682413

树莓派系统的安装非常简单。但是装完系统之后为了能远程连上费了不少时间。

先按照官方文档来

1,使用管理工具

Enter sudo raspi-config in a terminal window
Select Interfacing Options
Navigate to and select SSH
Choose Yes
Select Ok
Choose Finish


2,启动服务

sudo systemctl enable ssh
sudo systemctl start ssh


官网还说如果要sshd能随系统一起启动,需要在tf卡的根目录下创建一个空白的文件,文件名叫:ssh

具体方法是将TF卡取下来,插上windows电脑,在powershell里执行:

new-item ssh -type file

然后插回树莓派,正常情况下系统会识别到这个文件,并开启自动启动,然后这个文件会被自动删除。

此时使用putty连上来时不会再提示链接被重置。不过又出了另一个错误提示:Server unexpectedly closed network connection

尝试了所有找到的方法,无果。

无意间调用 service sshd status时发现提示信息里说 Could not load host key: /etc/ssh/ssh_host_rsa_key,

于是去查了下/etc/ssh/下面的ssh_host_rsa_key文件,该文件无内容,并且所有ssh_host_开头的文件都是没有内容。这就有点问题了。

问题找到,首先把/etc/ssh下的所有ssh_host_开头的文件删除,然后执行:

sudo dpkg-reconfigure openssh-server

提示:

Creating SSH2 RSA key; this may take some time ...

Creating SSH2 DSA key; this may take some time ...

Creating SSH2 ECDSA key; this may take some time ...

如果不删除原来的文件,它是不会有任何操作的,因为文件已经存在了。

此时再查看key文件,里面已经重新生成了key。

再试试远程ssh,通过。
 

### 启用树莓派上的 SSH 服务树莓派上启用 SSH 服务可以通过多种方式完成,具体取决于你的使用场景和需求。以下是几种常见的方法: #### 1. 通过 `raspi-config` 工具启用 SSH树莓派操作系统中,可以使用内置的配置工具 `raspi-config` 来启用 SSH 服务。具体操作如下: - 打开终端并输入以下命令: ```bash sudo raspi-config ``` - 在菜单中选择 **3-Interface Option**。 - 接着选择 **1-SSH**。 - 系统会询问是否启用 SSH,选择 **Yes**。 - 最后选择 **Finish** 或按下 `Esc` 键退出配置工具。 - 重启 SSH 服务以确保更改生效: ```bash sudo systemctl restart ssh ``` #### 2. 在启动分区创建 `ssh` 文件 如果树莓派SSH 服务默认被禁用,则可以通过在启动分区创建一个名为 `ssh` 的空文件来启用它。这种方法特别适用于首次启动树莓派时启用 SSH。 - 将 SD 卡插入电脑,找到启动分区(通常是可读取的 FAT 分区)。 - 在该分区的根目录下创建一个名为 `ssh` 的空文件(不带扩展名)。 - 将 SD 卡重新插入树莓派并启动设备。系统检测到 `ssh` 文件后会自动启用 SSH 服务。 #### 3. 检查并启动 SSH 服务 如果 SSH 服务已经启用但未运行,可以手动检查其状态并启动服务: - 查看 SSH 服务状态: ```bash sudo systemctl status ssh ``` - 如果服务未运行,使用以下命令启动它: ```bash sudo systemctl start ssh ``` #### 4. 配置 SSH 服务开机自启 为了确保每次树莓派重启后 SSH 服务都能自动运行,需要配置其开机自启动: - 输入以下命令启用开机自启动: ```bash sudo systemctl enable ssh ``` #### 5. 配置防火墙允许 SSH 连接 如果树莓派启用了防火墙(如 `ufw` 或 `iptables`),需要确保 SSH 端口(默认为 22)被允许通过: - 使用 `ufw` 的情况下,运行以下命令: ```bash sudo ufw allow 22 ``` #### 6. 使用 SSH 客户端连接树莓派 一旦 SSH 服务启用并运行,就可以通过 SSH 客户端连接树莓派。以下是不同平台的连接方法: - **Linux 或 macOS**:打开终端并运行以下命令: ```bash ssh pi@<树莓派IP地址> ``` - **Windows**:可以使用 PuTTY 或 Windows 10 自带的 OpenSSH 客户端进行连接。 #### 7. 修改 SSH 配置文件(可选) 如果需要对 SSH 服务进行更详细的配置,可以编辑 SSH 的配置文件 `/etc/ssh/sshd_config`。例如,如果需要允许 root 用户通过 SSH 登录,可以修改以下配置: - 编辑配置文件: ```bash sudo nano /etc/ssh/sshd_config ``` - 找到 `PermitRootLogin` 行,并将其值设置为 `yes`: ```bash PermitRootLogin yes ``` - 保存更改并重启 SSH 服务以应用配置: ```bash sudo systemctl restart ssh ``` #### 8. 解决 SSH 连接失败问题 如果在尝试连接时遇到 `ssh: connect to host xxx port 22: Connection refused` 错误,请确保: - SSH 服务已在树莓派上启用并运行。 - 树莓派的防火墙允许 SSH 端口(22)通过。 - 使用的 IP 地址和端口号正确无误。 #### 9. 查看树莓派的 IP 地址 为了通过 SSH 连接树莓派,需要知道其 IP 地址。可以使用以下命令查看: ```bash ifconfig ``` 在输出中找到 `inet` 地址,通常是以 `192.168.x.x` 或 `10.0.0.x` 开头的地址。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值