Github 无法从 SCM 结帐 - SSH
Posted
技术标签:
【中文标题】Github 无法从 SCM 结帐 - SSH【英文标题】:Github fails to checkout from SCM - SSH 【发布时间】:2021-10-18 05:49:11 【问题描述】:我正在尝试使用 maven-release-plugin:2.5.3。
我在 github 上的存储库正在使用 ssh。推拉效果很好。
在终端输入ssh -T git@github.com
时,我从 github 得到正确答案:
"Hi UserName! You've successfully authenticated, but GitHub does not provide shell access."
在 Eclipse 终端中输入 ./mvnw release:prepare
时,我得到 Build Success。
但在 Eclipse 终端中输入 ./mvnw release:prepare
时,出现以下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:perform (default-cli) on project ProjectName: Unable to checkout from SCM
[ERROR] Provider message:
[ERROR] The git-clone command failed.
[ERROR] Command output:
[ERROR] Cloning into '/Users/UserName/git/RepoName/ProjectName/target/checkout'...
[ERROR] remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
[ERROR] remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
[ERROR] fatal: unable to access 'https://github.com/UserName/RepoName.git/': The requested URL returned error: 403
我的 POM 如下所示:
<scm>
<developerConnection>scm:git:git@github.com:UserName/RepoName.git</developerConnection>
<tag>HEAD</tag>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<goals>install</goals>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
</plugins>
</build>
我的 ssh 配置文件如下所示:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
Host github.com
IdentityFile ~/.ssh/github/github_rsa
在 Eclipse Preferences General->Network Connections->SSH2
中,我有以下私钥:
/Users/UserName/.ssh/github/github_rsa,id_dsa,id_rsa
还有 SSH2 主页:
/Users/UserName/.ssh
看起来 GitHub 仍在尝试通过 https 进行连接:但我不知道如何或在哪里。
任何帮助表示赞赏。
【问题讨论】:
问题是:The requested URL returned error: 403
...
【参考方案1】:
首先,确保 maven 版本使用的是right private key。
第二,只要你看到:
fatal: unable to access 'https://github.com/UserName/RepoName.git/':
任何 SSH 设置都不起作用:如果通过 HTTPS 访问远程存储库,则不会使用 SSH 密钥。完全没有。
您可能希望使用以下语法将connection
as well as developerconnection
设置为 SSH URL:
scm:git:ssh://git@github.com/UserName/RepoName.git
^^^
【讨论】:
以上是关于Github 无法从 SCM 结帐 - SSH的主要内容,如果未能解决你的问题,请参考以下文章
如何从 jenkins 作业的 scm 轮询中排除 jenkins 文件
Paypal 结帐 - 订单捕获从服务器获得 PERMISSION-DENIED 但在 javascript 客户端中工作