前言

我一直希望在Windows上能像在Linux系统中那样,通过SSH密钥实现免密码远程连接。每次远程连接到服务器时,手动输入密码既麻烦又不太安全,尤其是在我需要频繁操作的情况下。

之前的文章中已经解决了 SSH 登录的问题: 在 Windows 10 上实现免密码 SSH 登录

Windows的SSH支持

回顾一下

Windows自带了一个名为 OpenSSH Authentication Agent 的服务,这个服务能够管理SSH密钥,这意味着我无需额外安装任何第三方工具,就能轻松设置SSH免密码登录。

按照网上的教程,我简单地启动了 OpenSSH Authentication Agent 服务,设置好SSH密钥后,就可以 ssh 免密码连接到服务器了。

Git Push遇到问题

然而,当我尝试通过Git进行 git push 操作时,却仍然被要求输入密码。

明明已经配置好了SSH密钥,为什么Git操作时还是要求输入密码?

显然,仅仅启动OpenSSH服务并没有解决问题。于是,我决定深入分析这个问题的原因,看看是否还有什么地方需要调整。

使用Git Bash测试

为了进一步排查问题,我决定在 Git Bash 中测试一下。

Git Bash是用来执行Git命令的工具,因此我在Git Bash中运行了 ssh-add -l 命令,想确认是否正确加载了我的SSH密钥。结果发现,Git Bash中的 ssh-agent 并没有启动!

这时我突然意识到,Git Bash和Windows自带的SSH工具似乎并不完全兼容,Git并没有默认使用Windows的SSH工具。

Git使用了自己的SSH工具

接下来,我进一步探讨了这个问题。

我了解到,Git实际上有自己的SSH工具,而并不会默认使用Windows系统中的OpenSSH工具。

Git自带的工具和Windows自带的工具是不同的,因此,即使在Windows中配置了OpenSSH Authentication Agent服务,Git也不会自动使用它。

配置Git使用Windows默认SSH工具

既然Git没有使用Windows自带的SSH工具,那就需要手动配置它。我通过执行以下命令告诉Git使用Windows的默认SSH工具:

git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

这条命令的作用是,让Git在进行操作时,使用Windows系统中的 ssh.exe 来处理SSH连接,而不是使用Git自带的工具。配置完成后,我再次尝试 git push 操作。

全部搞定

这次,当我运行 git push 时,一切都顺利进行,没有再提示我输入密码。通过这种方式,我成功地将Git操作与Windows的SSH配置结合起来,实现了免密码登录。现在,无论是进行远程服务器的SSH连接,还是使用Git进行版本控制,我都不再需要每次输入密码。

从SSH远程到Git Push:在Windows上一步到位实现免密码登录的更多相关文章

  1. 【Hadoop系列】linux下 root用户免密码登录远程主机 ssh

    SSH原理:[Hadoop系列]linux SSH原理解析 操作环境: CentOS 6.5 操作对象: 用户A主机和远程主机B 正文部分:斜体加粗代表linux指令. linux下 非root用户免 ...

  2. git 配置 https和ssh 免密码登录 常用操作命令

    git 配置 https和ssh 免密码登录 一. 区分https clone 和 ssh clone 不同的克隆方式导致校验方式不同,对应的免秘方式也不一样. https通过记住账号密码免登,ssh ...

  3. git hub在windows上的使用

    每次使用都需要查找,太麻烦了. 转过来自己用! git hub在windows上的使用 一. 首先安装客户端 Git for Windows. 按提示默认安装后,进入git bash(桌面上) 首先检 ...

  4. SSH免密码登录和Git免密操作

    SSH免密码登录和Git免密操作 每次打完包后都需要把包传到对应的服务器上从而让测试人员下载安装,但是每次ssh或scp时都需要重新输入密码:使用git代码托管平台只要修改了密码就需要输入密码.本文主 ...

  5. SSH 无密码访问其它机器 和 Windows 上 putty 无密码访问 Linux 机器

    1. 从一台 Linux 机器(ubuntu1)上无密码访问其它机器(ubuntu2) (1)登录 ubuntu1 并切换到用户比如 s1 (2)运行 ssh-keygen -t rsa (3)运行c ...

  6. jenkins发布项目到远程主机上,配置linux使用SSH免密码登录

    一.首先要配置两台linux如何使用SSH免密码登录,这样脚本执行scp命令以及远程执行脚本都不需要输入密码: A为本地主机(即用于控制其他主机的机器,jenkins服务器) ; B为远程主机(即被控 ...

  7. 如何配置ssh免密码登录

    [TOC] 如果你在管理一堆unix机器,每次登录都要输入密码是挺烦的事情,一方面为了安全我们一般不会将所有机器的密码都设置成一样,另一方面就算一样每次都输入一遍也很麻烦. 这种情况下我们一般是用ss ...

  8. Linux 配置ssh 免密码登录

    在平常应用中,我们经常会登录到其他主机,比如说服务器,每次都需要用户名和密码. 我们可以通过ssh免密码登录服务器而不需要输入密码. 现在有一台ubuntu的阿里云服务器,称之为 server.  公 ...

  9. CentOS服务器配置SSH免密码登录

    由于工作需要,经常要登录到多台服务器远程操作,每次都是ssh user@host:port 再输入密码,时间长了,难免觉得乏味-- 故而从度娘那里扒来了一些让SSH免密码登录的办法,其实这也是使用Gi ...

  10. ubuntu ssh 免密码登录

    1 ssh 是什么? ssh 是一种 加密协议,ssh 是两个加密的密码,一个是公钥一个是私钥,公钥加密的信息只有是要才能解密.ssh协议可用于服务之间的通信.例如:登录验证,git的授权等等 2 s ...

随机推荐

  1. python图形界面开发工具之PySimpleGUI

    缘起: 工作中使用频次较高的操作都需要登录到某个管理平台上进行选择操作,如果是给别人使用还算可以, 但是作为平常使用还是感觉较为繁琐,于是打算开发一个桌面小工具解决这个痛点,达到使用时及时调起使用,方 ...

  2. Linux之buffer/cache

    buffers和cached解释 =========================================================缓存(cached)是把读取过的数据保存起来,重新读 ...

  3. Codeforces Round 887 (Div. 2)

    C. Ntarsis' Set ​ (\(1 \leq n,k \leq 2 \cdot 10^5\)) 题解:思维 + 二分 我们不妨反向考虑 由于答案最后一次一定在第一个位置 所以答案上一轮一定在 ...

  4. 2023-05 多校联合训练 ZJNU站 热身赛

    猫猫接币币 给定两个容量分别为a和b的盒子,已知第i秒天上会掉下i个金币,你会从第1秒开始接金币,每秒钟你可以选择任意一个盒子接金币,但是不能不选,你必须使得两个盒子刚好装满,请问是否存在某个时刻,使 ...

  5. canvas(七)绘制网格和坐标轴

    1.绘制网格 传入dom和分割线间隔进行渲染,网格线分为水平方向和垂直方向 <script> //绘制网格 function drwaGrid(dom = document.querySe ...

  6. docker环境一个奇怪的问题,容器进程正常运行,但是docker ps -a却找不到容器,也找不到镜像

    一: 问题: docker环境一个奇怪的问题,使用容器跑的进程正常提供服务,在服务器上也能看到对应的端口正在监听,但是docker ps -a却找不到容器,也找不到镜像. 查看我使用docker容器启 ...

  7. .NET Core 基于 IHostedService 实现后台定时任务

    .NET Core 基于 IHostedService 实现后台定时任务 迷恋自留地 NET Core 2.0 引入了 IHostedService ,基于它可以很方便地执行后台任务,.NET Cor ...

  8. 解密prompt系列44. RAG探索模式?深度思考模式?

    前一阵多步RAG的风吹入了工业界,kimi推出了探索版本,各应用都推出了深度搜索,You.COM更是早就有了Genius的多步模式.其实都是类似multi-hop RAG的实现.之前学术界在讨论mul ...

  9. Terraform Aliyun 创建ecs, kubernetes 实例

    Terraform Aliyun 创建ecs, kubernetes 实例 terraform demo for aliyun 创建vpc, 网关, EIP, ecs, kubernetes, Ser ...

  10. GOLAND-激活码-20230309

    33MEHOB8W0-eyJsaWNlbnNlSWQiOiIzM01FSE9COFcwIiwibGljZW5zZWVOYW1lIjoiUG9saXRla25payBNZXJsaW1hdSBNZWxha ...