Linux ssh 免密登录配置
参考资料~/.ssh/configについて~/.ssh/configを使ってSSH接続を楽にする.ssh/configファイルでSSH接続を管理する目录一. 密钥生成1.1 生成工具1.1.1 OpenSSH1.1.2 Git1.2 生成命令1.3 注意事项1.4 解决路径中的用户名乱码二. 将公钥配置到目标服务免密登录2.1 方式1 ssh-copy-id命令行工具2.2 方式2 手动添加2.3 效果三. 免密登录config文件配置3.1 配置文件内容3.2 效果四. 服务器端公钥位置修改五. REMOTE HOST IDENTIFICATION HAS CHANGED!问题一. 密钥生成1.1 生成工具1.1.1 OpenSSH⏹Win10系统默认安装了OpenSSH⏹在C:\Windows\System32\OpenSSH\路径中可以看到可执行文件。1.1.2 Git⏹如果系统中安装了Git那么在默认的安装路径C:\Program Files\Git\usr\bin中也可找到ssh可实行文件。1.2 生成命令⏹在命令行窗口输入下面的命令即可生成一对公钥和私钥。-C为密钥添加注释通常用于标识密钥。如果忽略此选项则会使用用户名主机名来当做密钥注释添加到密钥中。-t指定密钥算法可以省略当不指定算法的时候 默认使用比较新的 ed25519 算法-f用户指定密钥生成的路径和密钥名称默认情况下密钥将保存到~/.ssh/id_rsa私钥~/.ssh/id_rsa.pub公钥# ################################### rsa已经属于比较老的算法了# 当不指定算法的时候# 默认使用比较新的 ed25519 算法# ##################################ssh-keygen-Cfengyehong123example.com# windows中ssh-keygen-trsa-Cfengyehong123example.com-fC:\Users\用户名称\.ssh\ubuntu22_key# linux中ssh-keygen-trsa-Cfengyehong123example.com-f~/.ssh/id_rsa1.3 注意事项⏹在Windows中如果当前的用户名中包含汉字在未指定密钥生成的路径的情况下会乱码。⏹使用Git自带的ssh工具进行生成可以避免汉字用户名的乱码问题但是默认情况下Win10自带的OpenSSH在环境变量中的权限高于Git中的权限所以直接在命令行中输入ssh-keygen命令调用的是OpenSSH的ssh命令并非Git中的命令。1.4 解决路径中的用户名乱码⏹方式1指定生成密钥的路径中不包含汉字⏹方式2直接使用git命令行窗口进行生成此时使用的是git的ssh工具⏹方式3修改环境变量降低OpenSSH工具的优先顺此时使用的是git的ssh工具二. 将公钥配置到目标服务免密登录2.1 方式1 ssh-copy-id命令行工具⏹通过ssh-copy-id指定本地公钥的路径传输到目标服务器上默认情况下公钥 和 私钥在一个文件夹下ssh-copy-id-i~/.ssh/id_rsa.pub apluser192.168.118.136如果生成了密钥之后将私钥放到了其他文件夹下的话需要使用-f配置项强制指定只传输公钥否则会报错找不到私钥ssh-copy-id-i-f~/.ssh/id_rsa.pub apluser192.168.118.136⏹下图所示通过Git的命令行窗口将公钥配置到目标服务器上⏹公钥传输完毕之后在目标服务器的~/.ssh/authorized_keys路径中可以看到。2.2 方式2 手动添加⏹可以将公钥上传到服务器然后添加到authorized_keys文件中cat~/.ssh/id_rsa.pub~/.ssh/authorized_keys⏹由于是手动添加所以需要在服务器端重启一下ssh服务/etc/init.d/ssh restart2.3 效果⏹如果我们的私钥存储在当前用户的.ssh文件夹中输入ssh apluser192.168.118.136即可免密登录。⏹如果我们的私钥并不存储在当前用户的.ssh文件夹中指定私钥的位置即可完成免密登录。sshapluser192.168.118.136-i私钥的位置三. 免密登录config文件配置3.1 配置文件内容⏹configHost ubuntu_22 HostName192.168.118.136 User apluser Port22StrictHostKeyChecking no# 指定密钥的位置IdentityFile D:\id_rsa3.2 效果⏹如下图所示直接通过配置文件中的别名完成免密登录。四. 服务器端公钥位置修改⏹在服务器端的/etc/ssh/sshd_config文件中有关于认证文件的配置如果不想让公钥存储在默认路径下可修改AuthorizedKeysFile的相关内容指定公钥路径apluserubuntu221:~$ls-l/etc/ssh/sshd_config -rw-r--r--1root root3255Aug902:33 /etc/ssh/sshd_config apluserubuntu221:~$ apluserubuntu221:~$grepAuthorizedKeysFile /etc/ssh/sshd_config#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2⏹修改sshd_config配置文件需要root用户权限%h当前用户的主目录⏹修改完毕之后同样需要在服务器端重启一下ssh服务确保配置文件实时反映。/etc/init.d/ssh restart五.REMOTE HOST IDENTIFICATION HAS CHANGED!问题⏹当第一次连接某个 SSH 服务器时ssh 或 sftp 会把远程服务器的 host key主机公钥指纹 存在本地的~/.ssh/known_hosts文件中。以后再次连接该主机时会用保存的主机公钥与服务器当前提供的公钥进行比较如果匹配 ✅则连接继续。如果 不匹配 ❌比如远程主机重新安装、密钥更新或 IP 被他人占用就会出现类似于下面的警告 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:OYtwkILXy0dkzCTnO2YclxZVOzQw9SzBHuaF3ve6Is. Please contact your system administrator. Add correct host key in /c/Users/Admin/.ssh/known_hosts to get rid of this message. Offending RSA key in /c/Users/Admin/.ssh/known_hosts:2 Host key for [192.168.3.23]:2222 has changed and you have requested strict checking. Host key verification failed. Connection closed⏹在确保要连接的远程服务器安全的前提下可通过如下方式解决删除host文件中的旧主机的记录ssh-keygen-R[192.168.3.23]:2222再一次连接目标主机时会出现类似于下面这种提示The authenticity of host [192.168.3.23]:2222 cant be established. RSA key fingerprint is SHA256:OYtwkILXy0dkzCTnO2YclxZVOzQw9SzBHuaF3ve6Is. Are you sure you want to continue connecting (yes/no)?输入yes之后它会把新的host key存入known_hosts文件中此后不会再有提示除非主机密钥再次变化。

相关新闻

Gerber导出致命参数错误,单位、精度、光圈配置踩坑解析

Gerber导出致命参数错误,单位、精度、光圈配置踩坑解析

很多硬件工程师完成 PCB 布局布线,DRC 检查零报错,交付工厂之后,却出现板子尺寸全部缩放、焊盘变形、图形错乱报废。绝大多数这类事故,并不是 PCB 设计本身存在错误,而是 Gerber 导出阶段参数配置失误。EDA 软件 DRC 只…

2026/10/17 11:11:40 阅读更多 →
Automa终极循环与迭代指南:轻松处理重复性任务的完整教程

Automa终极循环与迭代指南:轻松处理重复性任务的完整教程

Automa终极循环与迭代指南:轻松处理重复性任务的完整教程 【免费下载链接】automa A browser extension for automating your browser by connecting blocks 项目地址: https://gitcode.com/gh_mirrors/au/automa 您是否厌倦了每天重复点击相同的按钮&#x…

2026/10/17 11:12:00 阅读更多 →
揭开Java字节码的神秘面纱:Soot如何让你成为代码的“X光医生“

揭开Java字节码的神秘面纱:Soot如何让你成为代码的“X光医生“

揭开Java字节码的神秘面纱:Soot如何让你成为代码的"X光医生" 【免费下载链接】soot Soot - A Java optimization framework 项目地址: https://gitcode.com/gh_mirrors/so/soot 还在为看不懂Java字节码而烦恼吗?想要深入理解程序运行时…

2026/10/19 0:12:37 阅读更多 →

最新新闻

野营用品租赁管理系统:基于SSM的库存与订单实战解析

野营用品租赁管理系统:基于SSM的库存与订单实战解析

野营用品租赁管理系统这个标题,我第一次看到时还觉得挺常规的,真动手做起来才发现它比想象中要麻烦不少。市面上做销售型电商系统的教程一抓一大把,但租赁类业务的核心逻辑完全不同:一个商品不是卖出去就结束了,而是要…

2026/10/20 12:29:17 阅读更多 →
深度学习革命:从神经网络逆袭到大模型时代的技术突围

深度学习革命:从神经网络逆袭到大模型时代的技术突围

人工智能最近这十几年的热闹,几乎都汇聚在一个词上:深度学习。神经网络这条技术路线,曾经被主流学术圈冷落了很多年,如今却成为视觉、语音、语言、决策等几乎所有AI子领域的基础底座。这个系列写到第三篇,我想认真梳理…

2026/10/20 12:29:17 阅读更多 →
rsync增量同步实战:核心机制、常用命令与备份架构

rsync增量同步实战:核心机制、常用命令与备份架构

rsync 这东西,属于那种"会用之后再也回不去"的命令。说白了,它就是 Linux 下做文件同步和增量备份的标配工具,能本地拷贝,也能走 SSH 把数据推到远程服务器,还能在传输时压缩、限速、断点续传,最…

2026/10/20 12:29:17 阅读更多 →
ChatGPT入门提示词指南:100个模板与实操技巧

ChatGPT入门提示词指南:100个模板与实操技巧

1. 为什么“入门提示词”值得单独拎出来讲1.1 一个被大多数人忽略的事实:工具再好,不会提问也白搭我接触过不少刚开始用 ChatGPT 的朋友,发现一个特别有意思的现象:大家注册完账号,打开对话框,第一反应往往…

2026/10/20 12:29:17 阅读更多 →
数据结构期末考试复习攻略:核心考点与算法解题套路

数据结构期末考试复习攻略:核心考点与算法解题套路

期末备考这段时间,最让人头大的课程里,数据结构绝对排得上号。“数据结构期末考试试题及答案”这个搜索词的热度每年都在涨,说明大家不是缺资料,而是缺一份能真正把知识点串起来、知道考什么、怎么答的复习思路。这篇文章我打算用…

2026/10/20 12:29:17 阅读更多 →
JavaScript Map与Set实战指南:性能优化与内存管理要点

JavaScript Map与Set实战指南:性能优化与内存管理要点

在实际开发里,Map和Set这俩内置对象常常被当成“高级特性”一笔带过。大多数教程讲到这里,无非是列一遍 API、丢几个控制台截图,然后就没了。可真到项目里高强度用它们的时候,你会发现一堆文档里查不到的细节:遍历顺序…

2026/10/20 12:28:17 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →