git - github上的SSH项目给出问题
问题描述
我完成了向 Github 添加密钥的整个过程,并在 Github 提供的本指南上进行了所有操作,但之后,它每 5 分钟询问一次 ssh 密码,这在处理项目时非常烦人,所以找到了一个命令这可以缓解这种情况,但今天早上我收到一个错误,说以下内容
C:\Windows\System32\OpenSSH\ssh.exe: C:WindowsSystem32OpenSSHssh.exe: command not found
重新运行它以检查一切是否正常
$ ssh -T git@github.com
它通过了身份验证,但错误并没有消失,所以我运行了与周五相同的命令git config --global --add core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
现在,当我执行“刷新”(推送和拉取)以获取对我的存储库的最新更改时,它只会继续同步更改,就好像它是无限循环然后超时一样。
编辑***
如果我在 git bash 中运行 git pull 我会得到以下输出
$ git pull
CreateProcessW failed error:193
ssh_askpass: posix_spawnp: Unknown error
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
但在那之前,我跑了ssh -T git@github.com
输入密码后我得到以下输出
Hi Faziki! You've successfully authenticated, but GitHub does not provide shell access.
有谁知道我能做些什么来解决这个问题?
解决方案
这个想法是不使用 Windows 本身的任何东西,而只使用你的Git for Windows(确保获得最新的 2.33.0.2)
所以从你的全局 Git 配置中删除任何 ssh 设置,并确保你%PATH%
包括:
set GH=C:\path\to\git
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%GH%\mingw64\libexec\git-core;%PATH%
CMD 中的Awhere ssh
应该给你:C:\path\to\git\usr\bin\ssh.exe
.
从那里,在同一个 CMD 中,您可以键入“bash”以切换到 bash shelll 会话。
确保您~/.bashrc
自动启动 ssh 代理。
并将您的私钥添加到代理:这将缓存密码。
推荐阅读
- php - Laravel 不在我的服务器上发送电子邮件,而是在本地主机上发送
- node.js - 尝试使用“--force-fips”标志执行 js 文件时抛出“为 fips 禁用”错误
- python - Python将整列添加到csv文件,而不读取文件内容
- python - 如何使 QTextBrowser 中的文本可选择?
- c# - 停止无限对话循环
- audio - 上传到谷歌云存储时转换音频文件
- javascript - 为什么小于运算符没有给出正确答案?
- c# - 使用 IronPython 时如何设置 Anaconda 虚拟环境?
- c++ - 如何在一行中找到一个数字的最左边位
- amazon-web-services - 将 lombok 注释与 DynamoDB 注释一起使用 [aws-dynamodb-encryption]