Windows 系统上配置 SSH 密钥验证,实现无密码登录

Windows 系统上配置 SSH 密钥验证,实现无密码登录

在日常工作中,使用密码登录远程云服务器往往让人感到繁琐。云服务器的密码通常较长,难以记忆,每次登录都需要反复输入,既不便捷也影响效率。此外,由于网络不稳定,密码认证连接容易中断,导致需要频繁重新输入密码。通过配置 SSH 密钥验证,不仅可以省去密码输入的烦恼,还能提高连接的稳定性和安全性。以下是详细步骤,指导您在 Windows 系统上配置 SSH 密钥验证,实现无密码登录。

步骤 1:在 Windows 系统上生成 SSH 密钥

  1. 打开 PowerShell 或 CMD
    在 Windows 上使用 PowerShell 或 CMD 生成 SSH 密钥。可以在 “开始” 菜单中搜索 PowerShell 或 CMD 并打开。

  2. 生成密钥对
    输入以下命令生成 SSH 密钥对:

    ssh-keygen -t rsa -b 4096 -C "snn_adversial"
    
    • -t rsa:指定密钥类型为 RSA。
    • -b 4096:设置密钥长度为 4096 位,以增加安全性。
    • -C "snn_adversial":注释信息,可用于标识密钥,如使用者名称或用途。

    在命令执行后,会出现以下提示:

    生成密钥提示

  3. 保存密钥
    系统会提示输入文件的保存路径,建议按默认路径 C:\Users\Leo\.ssh\id_rsa 保存,直接按回车键即可。

  4. 设置密码短语(可选)
    系统接着会询问是否设置密码短语,添加密码短语会增加安全性,但为了自动化连接,可以直接按回车跳过。

    跳过密码短语

    生成完成后,密钥对会保存在 C:\Users\Leo\.ssh 目录下,包括以下两个文件:

    • id_rsa:私钥文件,请务必妥善保管。
    • id_rsa.pub:公钥文件,用于在服务器上配置。

    密钥生成位置

步骤 2:将公钥上传到服务器

  1. 查看公钥内容
    在 Windows 上,查看公钥文件 id_rsa.pub 的内容。通常以 ssh-rsa 开头并包含一长串字符。请复制整个公钥内容,如下图所示:
    查看公钥

  2. 通过密码登录到服务器
    通过以下命令登录服务器(首次登录需要输入密码):

    ssh -p 端口号 root@i-2.gpushare.com
    
  3. 在服务器上配置公钥
    登录服务器后,将公钥添加到 ~/.ssh/authorized_keys 文件中。

    • 首先,创建 .ssh 目录(若已存在则跳过):

      mkdir -p ~/.ssh
      chmod 700 ~/.ssh
      
    • 使用文本编辑器(例如 nano)编辑或创建 authorized_keys 文件:

      nano ~/.ssh/authorized_keys
      
    • 将公钥内容粘贴到 authorized_keys 文件中并保存。

    • 设置 authorized_keys 的权限,确保仅用户自己可以访问:

      chmod 600 ~/.ssh/authorized_keys
      

    修改公钥权限

步骤 3:在 Windows 上配置 SSH 客户端使用密钥连接

  1. 编辑 SSH config 文件
    打开 C:\Users\Leo\.ssh 目录,在其中创建或编辑 config 文件(无文件后缀)。在文件中添加以下内容以配置 SSH 连接:

    Host snn-adversialHostName i-2.gpushare.comPort 33804User rootIdentityFile C:\Users\Leo\.ssh\id_rsa
    
    • Host snn-adversial:这是一个连接的别名。
    • HostName:服务器地址。
    • Port:服务器的端口号。
    • User:登录用户名。
    • IdentityFile:私钥的本地路径,指向刚才生成的 id_rsa 文件。
  2. 测试连接
    配置完成后,可以通过以下命令来测试 SSH 连接,无需输入密码:

    ssh snn-adversial
    

    若配置正确,将直接连接到服务器。

    测试连接

步骤 4:可选 - 使用 SSH Agent 缓存密码短语(如果设置了密码短语)

如果生成密钥时设置了密码短语,可以使用 SSH Agent 来缓存,从而避免每次连接都输入密码短语。

  1. 启动 SSH Agent
    在 PowerShell 或 CMD 中输入以下命令启动 SSH Agent:

    Start-Service ssh-agent
    
  2. 将私钥添加到 SSH Agent
    使用以下命令将私钥添加到 SSH Agent:

    ssh-add C:\Users\Leo\.ssh\id_rsa
    
  3. 输入密码短语
    添加私钥时会提示输入密码短语,SSH Agent 会缓存此短语,之后的连接无需再次输入。

验证连接

现在,可以通过以下命令验证连接:

ssh snn-adversial

如果一切配置正确,将直接连接到服务器而无需输入密码或密码短语。


通过以上步骤,您已经成功在 Windows 上配置了 SSH 密钥认证,实现无密码自动登录。配置 config 文件和 SSH Agent,可以大大提升连接的便捷性和安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/4881.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

俯仰 (pitch) 偏摆 (yaw) 翻滚 (roll)

pitch():俯仰,将物体绕X轴旋转(localRotationX) yaw():航向,将物体绕Y轴旋转(localRotationY) roll():横滚,将物体绕Z轴旋转(localRotationZ&…

es数据同步(仅供自己参考)

数据同步的问题分析: 当MySQL进行增删改查的时候,数据库的数据有所改变,这个时候需要修改es中的索引库的值,这个时候就涉及到了数据同步的问题 解决方法: 1、同步方法: 当服务对MySQL进行增删改的时候&…

从0开始学习Linux——Yum工具

往期目录: 从0开始学习Linux——简介&安装 从0开始学习Linux——搭建属于自己的Linux虚拟机 从0开始学习Linux——文本编辑器 上一个章节我们简单了解了Linux中常用的一些文本编辑器,本次教程我们将学习yum工具。 一、Yum简介 Yum(全名…

高级AI记录笔记(一)

学习位置 B站位置:红豆丨泥 UE AI 教程原作者Youtube位置:https://youtu.be/-t3PbGRazKg?siRVoaBr4476k88gct素材自备 提前将动画素材准备好 斧头蓝图 斧头武器插槽 混合空间 就是改了一下第三人称模版的动画蓝图 行为树中不用Wait实现攻击完…

ffmpeg的下载与安装

废话不多说, 下载地址,得找官网,不然得注意是不是有夹带私活。 FFmpeg 这个是目前的最新版本; 下载的时候看下自己要的版本,我的是Windows10; 解压后的版本长这样: 接下来进行环境变量的配置&…

【http协议笔记】-- 浏览器简单分析get、post请求

环境:为了了解http协议的交互方式,使用edge浏览器简单分析协议内容,给刚入门的小伙伴分享一下,方便大家学习。 以菜鸟教程的网站为例子: 分析post: 请求url: 请求参数: 请求相应&a…

SpringBoot【实用篇】- 热部署

文章目录 目标:1.手动启动热部署2.自动启动热部署4.禁用热部署 目标: 手动启动热部署自动启动热部署热部署范围配置关闭热部署 1.手动启动热部署 当我们没有热部署的时候,我们必须在代码修改完后再重启程序,程序才会同步你修改的信息。如果我们想快速查…

vue3相对vue2有哪些改变?

https://blog.csdn.net/weixin_44475093/article/details/112386778 https://blog.csdn.net/userDengDeng/article/details/114941956 一、vue3的新特性: 1、速度更快 vue3相比vue2 重写了虚拟Dom实现编译模板的优化更高效的组件初始化undate性能提高1.3~2倍SSR速度…

数据库概论实验一

声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 本文章对数据库概论实验一_求出一箱(每箱装100个)零件的重量 并将输出结果-CSDN博客文章浏览阅读2.7k次,点赞4次,收藏25次。实验数据库,表…

绿色能源发展关键:优化风电运维体系

根据QYResearch调研团队最新发布的《全球风电运维市场报告2023-2029》显示,预计到2029年,全球风电运维市场的规模将攀升至307.8亿美元,并且在接下来的几年里,其年复合增长率(CAGR)将达到12.5%。 上述图表及…

gerrit 搭建遇到的问题

1、启动Apache,端口被占用 : AH00072: make sock: could not bind to address (0S 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。: AH00072: make sock: could not bind to address 0.0.0.:443 a AH00451: no listening sockets available, shutti…

栈和队列相关题 , 用队列实现栈, 用栈实现队列 ,设计循环队列 C/C++双版本

文章目录 1.用队列实现栈2.用栈实现队列3. 设计循环队列 1.用队列实现栈 225. 用队列实现栈 思路: 使用两个队列,始终保持一个队列为空。 当我们需要进行压栈操作时,将数据压入不为空的队列中(若两个都为空,则随便压…

关于STM32在代码中的而GPIO里面的寄存器(ODR等)不需要宏定义的问题

1.GPIO为什么需要宏定义地址 在 STM32 这样的微控制器中,硬件寄存器的地址是固定的并且特定于每个外设(比如 GPIOA、GPIOB 等)。为了方便代码访问这些硬件寄存器,我们通常会使用宏定义来指定每个外设的基地址。这样做有几个理由&a…

kimi智能助手,5大高阶玩法,95%的人还不知道

01 智能搜索:精准定位,一键获取最佳答案 Kimi,作为您的AI助手,拥有卓越的网络搜索能力。 我们能够迅速穿梭于信息海洋,为您筛选出五篇精选网络文章,并提供直接的网址链接。 Kimi的总结能力同样出色,特别适合那些追求效率、不愿深陷长篇文章的用户。 02 PDF速读:快速把…

关于数学建模的一些介绍

为了更好了解世界,我们可以通过数学来描述许多特定的现象,而数学模型就是现实世界的理想化,不过它永远不能完全精确地表示现实世界。 在这篇文章中,我将介绍一些数学建模的基本概念以及相应的基础知识,而关于更具体的…

远翔升压恒流芯片FP7209X与FP7209M什么区别?做以下应用市场摄影补光灯、便携灯、智能家居(调光)市场、太阳能、车灯、洗墙灯、舞台灯必看!

一,概述 FP7209是台湾远翔一款非同步升压LED驱动IC,封装有2种,分别是SOP-8L(EP), TSSOP-14L(EP)。控制外部开关NMOS。 输入低启动电压2.8V,可支持单节锂电池供电。工作电压5V,VFB反馈电压0.25V,反馈电压低…

算法日记 18 day 二叉树

最后三题,二叉树就结束啦!!! 题目:修剪二叉搜索树 669. 修剪二叉搜索树 - 力扣(LeetCode) 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树…

hashcat使用

0.介绍 Hashcat 软件是一款非常强大的、开源的、号称世界上最快的密码破解软件,配合强大的字典,可以破译超过百分之九十的密码。Hashcat 目前支持各类公开算法高达240类,市面上公开的密码加密算法基本都支持,有 Microsoft LM 哈希…

mysql 安装 windows

新版安装 新版本安装 如果出现initializing database无法安装 则用我当前版本传送门 如MySQL 安装时没有developer default 选项 解决方法传送门 如果上述还不行 可以选择full 汉化下载 传送门

基于Redis缓存机制实现高并发接口调试

创建接口 这里使用的是阿里云提供的接口服务直接做的测试,接口地址 curl http://localhost:8080/initData?tokenAppWithRedis 这里主要通过参数cacheFirstfalse和true来区分是否走缓存,正常的业务机制可能是通过后台代码逻辑自行控制的,这…