linux-嵌入式开发基础-网线直连-局域网传输文件-快速完成文件替换

案例

shell 复制代码
yys@yys-VMware-Virtual-Platform:~/project/55$ scp 55 root@192.168.1.8:/home/root/

指令输入后,通常是可以直接拷贝到开发板中。当然,也有特例,下面是初学者可能会遇到的问题!

异常问题

shell 复制代码
yys@yys-VMware-Virtual-Platform:~/project/55$ scp 55 root@192.168.1.8:/home/root/
Unable to negotiate with 192.168.1.8 port 22: no matching host key type found. Their offer: ssh-rsa
scp: Connection closed

分析

这个错误通常是由于客户端SSH配置禁用了较旧的加密算法(如ssh-rsa),而服务器只支持该算法导致的。以下是几种解决方案:

  • 方法1:临时启用ssh-rsa(推荐)
    在scp命令中显式指定允许使用ssh-rsa:
bash 复制代码
scp -o HostKeyAlgorithms=+ssh-rsa 55 root@192.168.1.8:/home/root/
  • 方法2:永久修改SSH配置
    编辑全局配置(需sudo权限):
bash 复制代码
sudo nano /etc/ssh/ssh_config

在文件中添加:

复制代码
Host 192.168.1.8
HostKeyAlgorithms +ssh-rsa

保存后重试scp

  • 方法3:更新服务器SSH配置(需服务器权限)
    如果控制服务器,可编辑/etc/ssh/sshd_config添加:

    PubkeyAcceptedKeyTypes +ssh-rsa

然后重启ssh服务:

bash 复制代码
sudo systemctl restart sshd

原因说明:

OpenSSH从8.5版本开始默认禁用ssh-rsa算法(因存在潜在安全风险)。当服务器只支持该算法时会出现此错误。上述方案通过显式启用该算法解决兼容性问题。

建议优先使用方法1(临时指定),若需频繁连接再考虑方法2(永久配置)。如服务器可控,推荐升级服务器SSH配置支持更安全的算法(如rsa-sha2-256)。

相关推荐
释然小师弟10 分钟前
Android开发十年:反思与回顾
android·后端·嵌入式
Sokach10151 小时前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
FreakStudio16 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
AlfredZhao17 小时前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒4 天前
TShark:Wireshark CLI 功能
linux
A小辣椒4 天前
TShark:基础知识
linux
AlfredZhao4 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao5 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi