跳到主要内容

SSH 远程

使用前提

SSH 登录需要双方设备处于同一局域网下,且目标设备需要开启 SSH 服务。

提示

Radxa OS 首次启动会检测是否连接显示器,若有显示器则不会使能 SSH 服务;若没有显示器,系统会自动使能 SSH 服务

安装 OpenSSH

SSH 远程控制需要安装 OpenSSH, 在主板的终端运行以下命令安装:

radxa@device$
sudo apt update && sudo apt install openssh-server -y

启动 SSH 服务

在主板的终端运行以下命令启动 SSH 服务:

radxa@device$
sudo systemctl start ssh

设置 SSH 服务开机自启

在主板的终端运行以下命令设置 SSH 服务开机自启:

radxa@device$
sudo systemctl enable ssh

检查 SSH 服务状态

在主板的终端运行以下命令检查 SSH 服务状态:

radxa@device$
sudo systemctl status ssh

终端会输出类似信息: 提示您 SSH 服务是否自启动和当前运行状态。

● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2000-01-01 00:14:50 UTC; 25 years 5 months ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 518 (sshd)
CPU: 284ms
CGroup: /system.slice/ssh.service
└─518 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

SSH 远程控制

您可以通过终端命令行或者使用 Tabby 软件进行 SSH 远程登录。

在另一台设备上打开终端,输入以下命令进行远程登录:

PC$
ssh <user-name>@<ip-address>
# 示例

ssh [email protected]

其中,<user-name><ip-address> 分别是目标设备的实际用户名和 IP 地址。

连接过程中需要你输入 yes 确认连接。

SSH 登录成功后,你就可以通过 SSH 运行命令控制系统。

故障排除

如果 SSH 连接失败,可按以下步骤逐一排查。

1. 确认 SSH 服务正常运行

在设备上执行:

radxa@device$
sudo systemctl status ssh

若服务未运行,执行:

radxa@device$
sudo systemctl start ssh
sudo systemctl enable ssh
提示

Debian/Ubuntu 中 sshsshd 的别名。如 ssh 服务名无效,可尝试 sshd

2. 确认网络连通性

在 PC 上 ping 设备 IP,确认网络可达:

PC$
ping 192.168.x.x

若 ping 不通,请检查:

  • 设备与 PC 是否在同一局域网
  • 设备 IP 地址是否正确(避免使用 127.0.0.1

3. 检查防火墙

Radxa OS 默认使用 nftables。执行以下命令确认端口 22 未被阻止:

radxa@device$
sudo iptables -L -n | grep -E "22|ssh"
sudo nft list ruleset 2>/dev/null | grep -E "22|ssh"

若防火墙规则阻塞了 SSH,可临时清除规则测试:

radxa@device$
sudo iptables -F

4. 检查密码认证配置

确认 SSH 服务允许密码认证:

radxa@device$
sudo grep -v "^#" /etc/ssh/sshd_config | grep PasswordAuthentication

预期输出为 PasswordAuthentication yes。若不是,编辑配置文件:

radxa@device$
sudo nano /etc/ssh/sshd_config

确保存在且未被注释的行:

PasswordAuthentication yes

然后重启 SSH 服务:

radxa@device$
sudo systemctl restart ssh

5. 确认用户名和密码

Radxa OS 默认用户名为 radxa,密码为 radxa。若密码错误,通过串口或连接显示器后重置:

radxa@device$
sudo passwd radxa

6. 检查 SSH 日志

查看 SSH 服务日志,获取具体错误信息:

radxa@device$
sudo journalctl -u ssh -b --no-pager | tail -30

常见错误及含义:

错误信息可能原因
Connection refusedSSH 服务未运行或端口 22 被阻止
Permission denied密码错误或公钥认证失败
Connection timeout网络不通或 IP 地址错误
No route to host网络层路由不可达

7. Windows 客户端特殊问题

若使用 Windows SSH 客户端遇到问题:

  1. 尝试使用 TabbyPuTTYMobaXterm 替代
  2. 检查 Windows 防火墙是否阻止了 SSH 连接
  3. 确认使用的是密码认证而非仅公钥认证

8. 公钥认证失败

若配置了 SSH 公钥登录但失败,检查服务端权限:

radxa@device$
# .ssh 目录权限应为 700
chmod 700 ~/.ssh

# authorized_keys 文件权限应为 600
chmod 600 ~/.ssh/authorized_keys

9. 重置 SSH 配置

注意

以下操作会中断当前 SSH 连接。若远程操作,请确保有串口或显示器等备用接入方式后再执行。

radxa@device$
# 备份当前配置
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

# 恢复默认配置
sudo dpkg-reconfigure openssh-server

# 重启服务
sudo systemctl restart ssh

获取帮助

如问题仍未解决,请在 GitHub 提交 Issue,并提供以下信息:

  • sudo systemctl status ssh 输出
  • sudo grep -v "^#" /etc/ssh/sshd_config | grep PasswordAuthentication 输出
  • SSH 日志 sudo journalctl -u ssh -b --no-pager | tail -30
  • 完整的连接错误信息

    您需要登录 GitHub 才能发表评论。如果您已登录,请忽略此消息。

    Radxa-docs © 2026 by Radxa Computer (Shenzhen) Co.,Ltd. is licensed under CC BY 4.0