通过 ssh 工作时 git 操作的权限被拒绝
Permission denied on git operations while working via ssh
背景故事:我正在使用通过 SSH 连接到 Ubuntu 笔记本电脑的 Windows PC。这台笔记本电脑通过 VPN 连接到公司网络。公司使用 gitea(如果相关)。
问题:尝试从 PC(Windows 终端、VS Code 终端、VS Code git 功能)使用 git 时,我收到一条 Permission denied (publickey)
消息.如果我尝试从笔记本电脑上的终端执行相同操作,一切正常。
同样,pipenv install
从存储库安装依赖项失败。
可视化:)
[Laptop]: git pull
结果拉取成功
[PC --ssh-> Laptop]: git pull
导致权限被拒绝
当我尝试通过 PC ssh 访问我的私人 github 存储库到我的另一台计算机时,没有发生这样的事情。
我什至尝试将 PC 上生成的密钥添加到授权的 git 密钥,但没有任何改进。
编辑: 使我 运行 成为一个冗长的 ssh
连接,并表明 ssh-agent 不是 运行 用于我的远程连接并且只提供密钥来自以 id_
开头的 ~/.ssh/
,而我的 git 键有一个 git_
前缀。
首先从一个简单的 CMD 进行测试:
ssh -Tv git@github.com
这将显示 SSH 将尝试使用的密钥的路径。
例如,检查您是否有 %USERPROFILE%\.ssh\id_rsa
密钥,其 .pub
content registered to your GitHub account。
请注意,在我自己公司的笔记本电脑上,通过 VPN 连接,我将无法执行 Egress SSH 操作:egress.
禁用了 SSH
作为 OP seseikelele notes in :
Running verbose SSH to the git server revealed that shell sessions from my PC didn't use keys provided by ssh-agent and just tried to offer keys wih id_
prefix.
Starting the agent allowed Git to get authenticated on that one shell instance.
背景故事:我正在使用通过 SSH 连接到 Ubuntu 笔记本电脑的 Windows PC。这台笔记本电脑通过 VPN 连接到公司网络。公司使用 gitea(如果相关)。
问题:尝试从 PC(Windows 终端、VS Code 终端、VS Code git 功能)使用 git 时,我收到一条 Permission denied (publickey)
消息.如果我尝试从笔记本电脑上的终端执行相同操作,一切正常。
同样,pipenv install
从存储库安装依赖项失败。
可视化:)
[Laptop]: git pull
结果拉取成功
[PC --ssh-> Laptop]: git pull
导致权限被拒绝
当我尝试通过 PC ssh 访问我的私人 github 存储库到我的另一台计算机时,没有发生这样的事情。 我什至尝试将 PC 上生成的密钥添加到授权的 git 密钥,但没有任何改进。
编辑:ssh
连接,并表明 ssh-agent 不是 运行 用于我的远程连接并且只提供密钥来自以 id_
开头的 ~/.ssh/
,而我的 git 键有一个 git_
前缀。
首先从一个简单的 CMD 进行测试:
ssh -Tv git@github.com
这将显示 SSH 将尝试使用的密钥的路径。
例如,检查您是否有 %USERPROFILE%\.ssh\id_rsa
密钥,其 .pub
content registered to your GitHub account。
请注意,在我自己公司的笔记本电脑上,通过 VPN 连接,我将无法执行 Egress SSH 操作:egress.
禁用了 SSH作为 OP seseikelele notes in
Running verbose SSH to the git server revealed that shell sessions from my PC didn't use keys provided by ssh-agent and just tried to offer keys wih
id_
prefix.Starting the agent allowed Git to get authenticated on that one shell instance.