新IP的 SSH 指纹添加到 known_hosts 文件

要将新IP的 SSH 指纹添加到 known_hosts 文件,有自动添加手动添加两种常用方式,可根据场景选择:


一、自动添加(最常用,适合首次连接)

这是最简单的方式,通过一次 SSH 连接自动完成指纹写入,无需手动编辑文件:

  1. 在客户端执行 SSH 测试连接命令(替换为你的 GitLab 新 IP)

    bash 复制代码
    ssh -T git@192.168.11.198
  2. 系统会提示指纹验证,输入 yes 并回车

    bash 复制代码
    The authenticity of host '192.168.11.198 (192.168.11.198)' can't be established. ED25519 key fingerprint is SHA256:12GUOSXs2sgugVNWowo/r8Ikywx9zvP/CQpv3IVOm7/4. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
  3. 验证成功后,系统会自动将新 IP 的指纹追加到 known_hosts 文件,提示:

    bash 复制代码
    Warning: Permanently added '192.168.11.198' (ED25519) to the list of known hosts.

二、手动添加(适合批量/提前配置,避免交互)

如果需要提前添加指纹(无需首次连接交互),可以用 ssh-keyscan 命令直接从服务器获取指纹并写入文件:

  1. Linux/macOS 执行命令(替换为你的新 IP)

    bash 复制代码
    ssh-keyscan 192.168.11.198 >> ~/.ssh/known_hosts
  2. Windows(PowerShell) 执行命令

    bash 复制代码
    ssh-keyscan 192.168.11.198 >> $env:USERPROFILE\.ssh\known_hosts

优势:无需手动确认,适合批量配置多台服务器,且能避免中间人攻击风险(直接从服务器获取指纹)。


三、直接编辑文件(适合精确控制)

若需手动修改 known_hosts 文件,需先获取服务器的 SSH 公钥指纹,再按格式写入:

  1. 获取服务器指纹(在 GitLab 服务器端执行)

    bash 复制代码
    # 查看 ED25519 算法的公钥指纹 
    ssh-keygen -l -f /etc/ssh/ssh_host_ed25519_key.pub
  2. 编辑客户端 known_hosts 文件

    1. Linux/macOS :打开 ~/.ssh/known_hosts

    2. Windows :打开 C:\Users\你的用户名.ssh\known_hosts

  3. 添加指纹条目 (格式为 IP 算法 公钥内容

    bash 复制代码
    192.168.11.198 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI2GUOSXs2sgugVNWowo/r8Ikywx9zvP/CQpv3IVOm7/4

四、前置注意事项

  1. 清理旧 IP 记录 :若 known_hosts 中存在 GitLab 旧 IP 的指纹,需先删除避免冲突

    bash 复制代码
    ssh-keygen -R 旧IP
  2. 文件权限 :确保 known_hosts 文件权限正确(Linux/macOS 需设为 600,避免被其他用户修改)

    bash 复制代码
    chmod 600 ~/.ssh/known_hosts

需要我帮你生成一个批量更新多IP指纹的脚本吗?你可以一次性添加多个服务器的SSH指纹到known_hosts。

相关推荐
一路往蓝-Anbo10 小时前
第 7 章:内存地图 (Memory Map) 深度设计——DDR 与 SRAM
linux·stm32·单片机·嵌入式硬件·网络协议
一路往蓝-Anbo11 小时前
第 8 章:M33 领航——引导 A35 加载 U-Boot 与 Linux 内核
linux·运维·服务器·stm32·单片机·嵌入式硬件·网络协议
tianyagukechat13 小时前
rockylinux9.5 配置IP
java·网络·tcp/ip
hoududubaba14 小时前
ORAN C平面传输和基本功能——基于DMRS的波束赋形和SINR报告
网络·网络协议
81250353318 小时前
DNS监控:生产实践
linux·网络·网络协议·tcp/ip·计算机网络
罗技12318 小时前
记一次硬盘满了导致 Coco Server 无法启动的排查
网络·网络协议·rpc
NEXT0619 小时前
从输入 URL 到页面展示的完整链路解析
网络协议·面试·浏览器
81250353321 小时前
第2篇:为什么要有分层?从工程实践到架构设计
linux·网络·网络协议·计算机网络
hhzz21 小时前
云服务器ECS的高可用部署方案----弹性公网IP和负载均衡的操作
服务器·tcp/ip·负载均衡·ecs·云服务器
白太岁1 天前
Muduo:(4) 主从 Reactor、事件循环、跨线程无锁唤醒及其线程池
c++·网络协议·tcp/ip