从SSH远程到Git Push:在Windows上一步到位实现免密码登录
我一直希望在Windows上能像在Linux系统中那样,通过SSH密钥实现免密码远程连接。每次远程连接到服务器时,手动输入密码既麻烦又不太安全,尤其是在我需要频繁操作的情况下。
目录7 个章节
前言
我一直希望在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进行版本控制,我都不再需要每次输入密码。
_EOF_
从SSH远程到Git Push:在Windows上一步到位实现免密码登录
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
用 dnot.sh 替代 Windows Defender
dnot.sh 往安全中心塞了个假 AV 签名,Defender 就乖乖下岗了——至少监控上看。实际还得再跑 extra-strip.bat 才能真关,这两步缺一不可,属实有点折腾。搞定即裸奔,胆子小的别碰。
2026-09-17 · Windows · 约 1 分钟
WSL小技巧:切换到zsh以及加入右键菜单
切换到zsh 说明 在 Windows Subsystem for Linux 中,执行 chsh -s /bin/zsh 并不能成功地将默认 shell 修改为 zsh。在打开 WSL 时,默认 shell 仍然为 bash。 这是因为WSL 在启动时并没有执行 login 相关的组件,而这些组件和默认 shell 有关。Microsoft 已经知晓了这个问题,但并没有计划去解决。 方法 我们可
2021-12-18 · Windows · 约 1 分钟
这是演习:Win10蓝屏,随你召唤
蓝屏似乎是很多IT之家用户不希望看到的东西,虽然在Win10中你还可以扫描屏幕下方二维码参与微软互动赢取大……那个,蓝屏的好处就是为专业人员提供问题信息,比如当前的内存转储,有助于排查和解决问题。当然,可能光是默认蓝屏给出的信息不够,此时可以开启Win10蓝屏详细信息显示。 ▲这二维码居然“上位”了……VM12虚拟机测试结果 微软在Windows10中安排了手动“调取”蓝屏的方式,那就是**按住右
2021-12-18 · Windows · 约 1 分钟
2024年,提升Windows开发和使用体验实践 - 终端&命令行篇
哼,Windows终端重灾区?用scoop装软件,Starship美化,但WinSW自启还是垃圾。啧,又一个scoop-search替代原版,gow补齐Unix工具,gsudo模拟sudo,但proxychains有点奇怪。哦,blessed-contrib仪表盘?只是好玩罢了,不如用erdtree看目录。
2024-03-05 · Windows · 约 1 分钟
讨论
共 0 条加载评论中…