问题陈述:从 Github 克隆 2 个存储库
采取的行动:
Host aimer-ui github.com
HostName github.com
IdentityFile /home/ubuntu/.ssh/id_rsa_new.pub
Host aimer-service github.com
HostName github.com
IdentityFile /home/ubuntu/.ssh/id_rsa.pub
克隆时出现错误:
Cloning into 'aimer-ui'...
Load key "/home/ubuntu/.ssh/id_rsa_new.pub": error in libcrypto
Load key "/home/ubuntu/.ssh/id_rsa.pub": Permission denied
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
ubuntu@ip-172-31-44-226:~$ git clone [email protected]:BeA-Brand/aimer-service.git
Cloning into 'aimer-service'...
Load key "/home/ubuntu/.ssh/id_rsa_new.pub": error in libcrypto
Load key "/home/ubuntu/.ssh/id_rsa.pub": Permission denied
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我的观察:克隆存储库时使用相同的 ssh。但在这种情况下,至少有一个存储库会起作用。
我发现这里有一些问题。
首先:您费尽心思使用特定于密钥的主机名设置
~/.ssh/config
,然后您没有使用这些特定于密钥的主机名。您的命令需要是 git clone git@aimer-service:BeA-Brand/aimer-service.git
和 git clone git@aimer-ui:BeA-Brand/aimer-ui.git
(或者任何正确的路径)。
正如 @erik258 在评论中指出的那样,您的
~/.ssh/config
需要私钥。去掉 .pub
结局。
您可以使用
libcrypto
解决 ssh -Tv git@aimer-ui
问题 - GitHub 不会为您提供 shell,但详细输出应该有助于确定密钥有什么问题。
您可以使用
/home/ubuntu/.ssh/id_rsa
检查ls -la /home/ubuntu/.ssh
上的权限和所有权。 id_rsa
需要模式0600; id_rsa.pub
可以有模式0644;该文件夹需要模式1700;并且所有这些都需要由 ubuntu
用户拥有。