新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。

相关推荐
明天也要努力学习6 小时前
HTTP 协议的基本格式和 fiddler 的用法
网络协议·http·fiddler
sbjdhjd6 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
LCG米11 小时前
STM32驱动W5500以太网模块实测:TCP吞吐瓶颈定位、TX指针回绕陷阱与断线重连保活落地
stm32·单片机·嵌入式硬件·tcp/ip
Tel1992530800412 小时前
温度湿度信号转WiFi/MQTT/Modbus TCP采集模块 无线传输
网络·网络协议·tcp/ip·工业自动化·工控设备
lazy H15 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
Linux运维技术栈15 小时前
WAF部署在防火墙后面,获取不到真实IP怎么办?
服务器·网络·tcp/ip·安全·防火墙·waf
低慢小uav16 小时前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发
是真的小外套17 小时前
网络安全实战第6期:Hydra爆破SSH实战
安全·web安全·ssh
德迅云安全-上官18 小时前
德迅游戏盾:面向 TCP 业务的分布式云安全防护方案
分布式·tcp/ip·游戏
程序员初一18 小时前
我在 1C1G 的服务器上装了个桌面环境,然后用 VNC 连它,然后我后悔了
linux·ssh