跳过正文
  1. 文章/

修复 Scoop 安装的 Git 不使用外部 OpenSSH

·422 字·1 分钟·
目录

环境&背景
#

  • (Scoop) Git (https://github.com/git-for-windows/git )
  • (Scoop) OpenSSH (https://github.com/PowerShell/Win32-OpenSSH )
  • ssh 密钥已用密码加密
  • ssh 密钥已添加到 ssh-agent (Win32-OpenSSH)
  • Windows 自带的 OpenSSH 和另外安装的 Win32-OpenSSH 均无效
  • 官网的安装器选择“使用外部openssh”后,签名提交时不需要输入密码,但是用 Scoop 安装的版本每次都需要密码

一开始以为 git 无法正确调用 ssh-agent,然后整个下午的搜索方向全歪了()

原因
#

在安装 Git 的时候,自带一个 OpenSSH,同时 Scoop 使用的 portable 版本安装时不询问是否使用外部 OpenSSH,导致 Git 会尝试使用自带的 OpenSSH。

当使用官方安装器的时候会询问是否使用外部 OpenSSH,如果选择“是”的话,安装器会把自带的 OpenSSH 直接删掉,我当时查到这一点的时候都惊呆了(

解决方案
#

参考:https://github.com/git-for-windows/git/issues/4960

打开到 <scoopDir>\apps\git\current\usr\bin,搜索所有和 openssh 有关的可执行文件,改名或直接删除;或者修改 gpg.ssh.program (git config) 指向外部的 ssh-keygen 即可。

cEvolve05
作者
cEvolve05

相关文章

修改 HWID 让 Chromebook 工程机获取自动更新
·347 字·1 分钟
解决 Xodo PDF 阅读器无法启动的方法之一
·404 字·1 分钟
Microsoft.AppCenter.Storage 文件导致的奇怪问题
Lenovo 笔记本关闭数字锁定和大写锁定提醒
·20 字·1 分钟