前言

在日常开发中,SSH(Secure Shell)作为一种安全的远程登录协议,广泛用于 Linux 和 Windows 系统之间的连接。为了提高效率,我们可以通过配置免密码登录,省去每次连接时输入密码的繁琐过程。

本文将详细介绍如何在 Windows 10 上配置 SSH 免密码登录,类似于 Linux 系统上的 ssh-add 功能。

1. 准备工作:确保 OpenSSH 已安装

在开始配置之前,确保你的 Windows 10 上已安装 OpenSSH 客户端。这里我们先检查并安装 OpenSSH:

  • 打开 设置 -> 应用 -> 可选功能,查找是否有 OpenSSH 客户端OpenSSH 服务
  • 如果没有安装,点击 添加功能,选择 OpenSSH 客户端 进行安装。

2. 启动 OpenSSH Authentication Agent

要实现免密码登录,我们需要启用 ssh-agent 服务,这个服务负责存储和管理 SSH 密钥。

  • 打开 服务管理器:按下 Win + R,输入 services.msc,然后回车。
  • 在服务列表中找到 OpenSSH Authentication Agent,右键点击并选择 启动,然后将启动类型设置为 自动

或者,你也可以通过 PowerShell 来启动 ssh-agent 服务:

Start-Service ssh-agent
Set-Service -Name ssh-agent -StartupType Automatic

3. 生成 SSH 密钥对

如果你还没有生成 SSH 密钥,可以通过以下步骤创建:

  1. 打开终端(命令提示符或者 PowerShell)。

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

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    按提示操作(默认存储路径为 ~/.ssh/id_rsa)。

  3. 输入密钥存储位置和密码(如果不想设置密码,可以直接按回车跳过)。

4. 将 SSH 密钥添加到 ssh-agent

接下来,需要将生成的私钥添加到 ssh-agent 中,以便在连接时自动使用密钥进行认证。

  1. 打开终端(命令提示符或者 PowerShell)。

  2. 输入以下命令加载密钥:

    ssh-add ~/.ssh/id_rsa

这样,ssh-agent 就会管理你的私钥,免去每次连接时输入密码的需求。

5. 将公钥复制到远程服务器

为了让远程服务器识别你的 SSH 密钥,你需要将公钥添加到服务器的 ~/.ssh/authorized_keys 文件中。你可以手动复制公钥,或者使用 ssh-copy-id 工具来完成:

  1. 复制公钥:

    cat ~/.ssh/id_rsa.pub
  2. 将公钥复制到远程服务器的 ~/.ssh/authorized_keys 文件中。

如果你使用 ssh-copy-id,命令如下:

ssh-copy-id user@remote_host

6. 测试免密码 SSH 登录

完成以上配置后,你可以尝试连接远程服务器:

ssh user@remote_host

如果配置成功,你将无需输入密码即可直接连接。

总结

通过以上步骤,你可以轻松实现 Windows 10 上的免密码 SSH 登录功能,类似于 Linux 上的 ssh-add。这种配置不仅提升了连接的效率,也使得远程管理变得更加便捷和安全。如果遇到任何问题,可以参考本文的解决步骤进行排查。

参考资料

在 Windows 10 上实现免密码 SSH 登录的更多相关文章

  1. Linux A机器免密码SSH登录B机器

    一.问题 如上,A机器经常需远程操作B机器,传输文件到B机器,每次输入帐号密码过于繁琐,下文通过ssh公钥能解免密码操作问题. 二.解决 1.方案 SSH认证采用公钥与私钥认证方式. 2.步骤 1) ...

  2. 两台linux之间建立信任关系,实现免密码ssh远程登录或scp数据上传

    两台linux之间建立信任关系,实现免密码远程登录或数据上传 1.执行ssh-keygen命令,生成建立安全信任关系的证书: linux1上:执行命令  ssh-keygen  -t rsa 在程序提 ...

  3. Windows 10 上的 Git 如何清除密码? Git Credential Manager for Windows

    Windows 10 上的 Git 如何清除密码? 因为一台新的电脑是 Windows 10 在第一次使用 Git 要求输入密码时把密码给输错了. 之前提交都是说 Token 错了,不再出现提示密码. ...

  4. 服务器之间免密码ssh登陆

    配置服务器f1(192.168.1.1)与服务器f2(192.168.1.2)之间免密码ssh登陆 一.首先,配置服务器主机名为f1.f2 1.更改/etc/sysconfig下的network文件, ...

  5. ssh免密码快速登录配置

    使用ssh登录服务器的时候,需要输入ip地址.端口.用户名.密码等信息,比较麻烦,容易输错.还好,通过客户端和服务器的配置参数,可实现免密码快速登录.服务器可通过保存客户端的公钥,用于验证客户端的身份 ...

  6. 免密码 ssh 到其它机器

    背景:在配置 hadoop 的时候这样设置会比较方便.目标:A 机器上输入 ssh root@B 可以直接访问,不需要输入密码 步骤: 首先在 A 机器上生成密钥对,一路回车 1 ssh-keygen ...

  7. 如何在 Windows 10 上安装 WSL 2

    翻译自 Joey Sneddon 2020年10月30日的文章<How to Install WSL 2 on Windows 10> [1] 如果您想在最新的 Windows 版本中尝试 ...

  8. 在Windows 10上安装Oracle 11g数据库出现的问题及解决

    在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Editi ...

  9. Windows 10 上,Edge 浏览器不支持插件,因此将不运行 Java

    在 Windows 10 上,Edge 浏览器不支持插件,因此将不运行 Java.微软想干嘛?

  10. DB 查询分析器 6.04 在 Windows 10 上的安装与运行展示

    DB查询分析器 6.04 在 Windows 10 上的安装与运行展示 中国本土程序员马根峰(CSDN专访马根峰:海量数据处理与分析大师的中国本土程序员 http://www.csdn.net/art ...

随机推荐

  1. 不容忽视的PCB测试点,关键时刻可以避免批量事故哦!

    ​  PCB测试点是啥子?请看下图: ​ 如果你曾经用过NOKIA手机,每次你打开后盖换电池的时候,每次看到的那两排圆形的点--就是PCB测试点,or you can call it Test Poi ...

  2. 70 个群都来问我的 AI 日报,是这么做的。

    最近我给 FastGPT 用户交流群里接入了 AI 日报,每天早上 10 点会自动向群里推送 AI 日报,让群里的小伙伴们第一时间了解到昨天 AI 领域都发生了哪些大事. 效果大概是这个样子的: 如果 ...

  3. 数据同步之DataX

    目前业务中需要进行数据同步, 考虑使用datax数据同步方式替换掉现有的同步方式 业务场景: 即将业务中每天生成的日志表中的数据部分字段同步到自己的库中,进行后台数据的查询 起因: 之前"大 ...

  4. Electron(2) - 下载与解压缩

    1.下载文件 主线程中调用下载 win.webContents.downloadURL(url) 监听下载事件 //监听下载动作 win.webContents.session.on('will-do ...

  5. JavaScript ES6基础

    1.let声明 1.let不像var有变量声明提升,未声明直接使用会报错 console.log(a); //undefined var a; console.log(b); //报错 let b; ...

  6. ie浏览器设置允许跨域

    前情 在访问测试搭建的测试环境的时候,发现接口因为跨域全部失败了,服务端又不想设置允许跨域,又急于使用,于是想到是不是可以使用跨域浏览器,上一次已解决chrome允许跨域,这一次来设置IE允许跨域 放 ...

  7. 使用TOPIAM 轻松搞定「Wiki.js」单点登录

    本文将介绍 TOPIAM 与 Wiki 集成步骤详细指南. 应用简介 Wiki.js 是一款高度可定制且现代化的开源 Wiki 系统,专为团队知识管理和文档协作设计,具有强大的扩展性和跨平台支持能力. ...

  8. Python 和 Podman

    1. Windows 10 上安装 Python 开始在 Windows 上使用 Python(初学者) 2. 使用 pip Python 的 Microsoft Store 安装包括 pip(标准包 ...

  9. 加密Python项目代码之把Django或Flask项目打包成exe

    目录 python代码仿泄露方案 -方案一:启动起来,把源代码删除 -方案二:pipinstaller 打包成可执行文件 -方案三:做到docker镜像中--->运行容器--->-e pa ...

  10. 2024年1月Java项目开发指南12:前后端分离项目跨域问题解决

    创建config文件夹,创建WebConfig文件 代码如下(可以直接抄) package cc.xrilang.serversystem.config; import org.springframe ...