USERAUTH 因 Github 和 Spring 云配置的私钥文件而失败
USERAUTH fail with private key file for Github and Spring cloud config
我尝试使用使用私钥的方法(具有密码并从文件添加到 ssh-agent)(根据 this 堆栈 post):
spring:
cloud:
config:
server:
git:
uri: git@github.com-forApp:myorg/myrepo.git
search-paths: '{application}'
clone-on-start: true
private_key_file: ~/.ssh/id_rsa
但我不断收到
org.eclipse.jgit.api.errors.TransportException:
git@github.com:myorg/myrepo.git: USERAUTH fail
我是否必须完全按照 doc says 的方式将密钥粘贴到配置文件中,还是可以以某种方式指向密钥文件?
编辑
实际上 private_key_file
根本不需要或被 Spring 忽略。但是您需要 ~/.ssh/config
部分指向私钥才能使用:
Host github.com-forApp # used in spring uri
HostName github.com
User git
IdentityFile ~/.ssh/gitHubKey
我能够复制您的行为并通过以下方式解决它。告诉我你的想法。
USERAUTH fail
正在发生,因为您没有提供 RSA 私钥的密码。(password
用于基本身份验证,passphrase
用于 ssh 私钥)
spring:
cloud:
config:
server:
git:
uri: git@github.com:myorg/myrepo.git
search-paths: '{application}'
clone-on-start: true
passphrase: myprivatekeypassword
默认情况下~/.ssh/id_rsa
在GIT SSH认证期间发送(用命令[=16=测试]。你不需要在配置中指定它。另外,我不确定是否private_key_file
是否有效,因为我没有看到它的任何官方文档。
如果您在 .ssh
下有不同的命名 RSA 文件,那么我建议在 ~/.ssh/config
下使用 github 主机详细信息创建配置文件并识别文件。
这是一个例子。
Host github.com
IdentityFile ~/.ssh/mygitid_rsa
检查 堆栈答案以获取更多详细信息,这些详细信息需要在配置中提供私钥文件路径的配置。
我尝试使用使用私钥的方法(具有密码并从文件添加到 ssh-agent)(根据 this 堆栈 post):
spring:
cloud:
config:
server:
git:
uri: git@github.com-forApp:myorg/myrepo.git
search-paths: '{application}'
clone-on-start: true
private_key_file: ~/.ssh/id_rsa
但我不断收到
org.eclipse.jgit.api.errors.TransportException: git@github.com:myorg/myrepo.git: USERAUTH fail
我是否必须完全按照 doc says 的方式将密钥粘贴到配置文件中,还是可以以某种方式指向密钥文件?
编辑
实际上 private_key_file
根本不需要或被 Spring 忽略。但是您需要 ~/.ssh/config
部分指向私钥才能使用:
Host github.com-forApp # used in spring uri
HostName github.com
User git
IdentityFile ~/.ssh/gitHubKey
我能够复制您的行为并通过以下方式解决它。告诉我你的想法。
USERAUTH fail
正在发生,因为您没有提供 RSA 私钥的密码。(password
用于基本身份验证,passphrase
用于 ssh 私钥)
spring:
cloud:
config:
server:
git:
uri: git@github.com:myorg/myrepo.git
search-paths: '{application}'
clone-on-start: true
passphrase: myprivatekeypassword
默认情况下~/.ssh/id_rsa
在GIT SSH认证期间发送(用命令[=16=测试]。你不需要在配置中指定它。另外,我不确定是否private_key_file
是否有效,因为我没有看到它的任何官方文档。
如果您在 .ssh
下有不同的命名 RSA 文件,那么我建议在 ~/.ssh/config
下使用 github 主机详细信息创建配置文件并识别文件。
这是一个例子。
Host github.com
IdentityFile ~/.ssh/mygitid_rsa
检查