树莓派超全系列教程文档--(51)如何使用SSH登录树莓派


文章来源: http://raspberry.dns8844.cn/documentation

原文网址

使用 SSH 访问远程终端

您可以使用 SSH 协议从同一网络上的另一台计算机远程访问 Raspberry Pi 的终端。

启用 SSH 服务器

默认情况下,Raspberry Pi OS 禁用 SSH 服务器。通过以下方式之一启用 SSH:

[tabs]

通过桌面::

. 从 Preferences 菜单启动 Raspberry Pi 配置
. 导航至 Interfaces 选项卡。
. 选择 SSH 旁边的 Enabled
. 单击 OK

烧录新的 OS 镜像时::

要在全新安装的 Raspberry Pi OS 上配置 SSH:

. 按照 安装Imager 指南中的说明操作。
. 在 操作系统自定义 步骤中,导航至 服务 选项卡。
. 勾选 启用 SSH 复选框。
. 选择 密码验证,使用与实际使用 Raspberry Pi 时相同的用户名和密码登录。选择 Allow public-key authentication only 以 xref:remote-access.adoc#configure-ssh-without-a-password[配置 SSH 密钥] 进行无密码登录。

从终端使能SSH::

. 在终端窗口输入 sudo raspi-config
. 选择 Interfacing Options
. 导航至并选择 SSH
. 选择 Yes
. 选择 Ok
. 选择 `Finish``。

手动使能SSH::

. 在启动分区中创建一个名为 ssh 的空文件:

$ sudo touch /boot/firmware/ssh

. 重启机器:

$ sudo reboot

连接到 SSH 服务器

在您的计算机上打开一个终端窗口并输入以下命令,将 <ip address> 占位符替换为 您尝试连接的 Raspberry Pi 的 IP 地址,并将 <username> 替换为您的用户名:

$ ssh <username>@<ip address>

连接成功后,您将看到安全警告。输入 yes 继续。您只会在第一次连接时看到此警告。

出现提示时输入您的帐户密码。

您现在应该会看到 Raspberry Pi 命令提示符:

<username>@<hostname> ~ $

您现在已远程连接到 Raspberry Pi,并且可以执行命令。

NOTE: 如果您收到 connection timed out 错误,则可能是您输入了错误的 Raspberry Pi IP 地址。请查看 Raspberry Pi 的 IP 地址

通过 SSH 转发 X11

NOTE: 在 Raspberry Pi 4 和 5 上,Raspberry Pi OS Bookworm 默认使用 Wayland 窗口服务器。如果您使用 X 窗口服务器,则只能转发 X11。要通过 X11 启用窗口转发,请在 Raspberry Pi 配置中将桌面切换到 X 窗口服务器。

NOTE: 许多桌面环境中不再默认安装 X11。安装第三方 X 服务器(例如 XQuartz)以使用 X11 转发。

X11 通过 SSH 启用图形应用程序。传递 -Y 标志以通过 SSH 转发 X 会话:

$ ssh -Y <username>@<ip address>

通过身份验证后,您将照常看到命令行。但是,您也可以打开 X 服务器可以为您呈现的图形窗口。例如,键入以下命令以启动 Geany 窗口:

$ geany &

配置无密码 SSH

要远程访问您的 Raspberry Pi 而无需每次连接时都提供密码,请使用 SSH 密钥对。

使用 Raspberry Pi Imager 预配置操作系统镜像

使用 Raspberry Pi Imager 配置启动映像时,您可以预配置 SSH 密钥。您可以生成新的 SSH 密钥对或现有的 SSH 密钥。

. 按照 使用 Imager 安装 指南配置您的启动映像。
. 在 OS Customisation 步骤中,导航到 Services 选项卡并勾选 启用 SSH 复选框。
. 选择 仅允许公钥身份验证 单选按钮。如果您已经在 ~/.ssh/id_rsa.pub 中存储了 SSH 公钥,Imager 会自动使用该公钥预填充文本框。如果 Imager 找不到 SSH 公钥,您可以单击 RUN SSH-KEYGEN 按钮来生成新的密钥对。

手动配置 SSH 密钥

如果您已经安装了 Raspberry Pi OS,则可以更新现有配置以使用 SSH 密钥身份验证。

检查是否存在现有的 SSH 公钥

要检查用于远程连接到 Raspberry Pi 的计算机上是否存在现有的 SSH 公钥,请运行以下命令:

$ ls ~/.ssh

如果你看到名为 id_ed25519.pubid_rsa.pubid_dsa.pub 的文件,说明你已经有了 SSH 密钥。跳过 SSH 密钥对生成,继续 将 SSH 密钥添加到 SSH Identity 列表中

生成新的SSH密钥对

TIP: 本指南提供了生成新RSA密钥的说明。为了提高安全性,您可以改为生成 http://ed25519.cr.yp.to/[Ed25519] 密钥。当引用您的公钥和私钥文件名以使用Ed25519密钥时,将 -t ed25519 传递给 ssh-keygen 并将 rsa 替换为 ed25519

要生成新的SSH密钥对,请输入以下命令:

$ ssh-keygen

当询问在哪里保存密钥时,按 Enter 使用默认位置 ~/.ssh/id_rsa

当要求输入可选关键字时,按 Enter 以不使用关键字。

运行以下命令检查 .ssh 目录的内容:

$ ls ~/.ssh

您应该看到文件 id_rsaid_rsa.pub

authorized_keys  id_rsa  id_rsa.pub  known_hosts

id_rsa 文件包含您的私钥。在您用于远程连接到Raspberry Pi的计算机上确保其安全。

id_rsa.pub文件包含您的公钥。您将与您的Raspberry Pi共享此密钥。当您远程连接Raspberry Pi时,它将使用此密钥来验证您的身份。

将SSH密钥添加到SSH身份列表中

启动SSH代理:

$ eval "$(ssh-agent -s)"

接下来,使用以下命令将您的密钥身份添加到 ssh-agent

$ ssh-add ~/.ssh/id_rsa
将公钥复制到您的Raspberry Pi

在您用于远程连接到Raspberry Pi的计算机上,使用以下命令将您的公钥安全地复制到Raspberry Pi:

$ ssh-copy-id <username>@<ip address>

出现提示时,在Raspberry Pi上输入您的用户帐户的密码。
您现在无需输入密码即可连接到Raspberry Pi。

手动将公钥复制到您的Raspberry Pi

如果您的操作系统不支持 ssh-cop-id ,您可以使用 xref:remote-access.adoc#scp[scp] 复制您的公钥: 。

首先,on您的RaspberryPi,创建Linux期望查找密钥的目录:

$ mkdir .ssh

然后,为 .ssh 目录配置适当的权限:

$ chmod 700 .ssh

在您通常的设备上,使用 scp 将您的公钥复制到Raspberry Pi上名为 .ssh/authorized_keys 的文件中:

$ scp .ssh/id_rsa.pub <username>@<ip address>:.ssh/authorized_keys

TIP: 上面的命令假定您以前从未授权任何密钥访问您的Raspberry Pi。如果您之前至少添加了一个密钥,您应该在 authorized_keys 文件的末尾添加一个包含公钥的新行,以保留您现有的密钥。

出现提示时,在Raspberry Pi上输入您的用户帐户的密码。

然后在树莓派上,配置 authorized_keys 文件的权限:

$ chmod 644 .ssh/authorized_keys

您现在无需输入密码即可连接到Raspberry Pi。

上一篇 – 树莓派超全系列教程文档–(50)如何查找树莓派的IP地址
下一篇 – 树莓派超全系列教程文档–(52)如何启用VNC功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值