我已经创建了密钥并将公钥存储在目标存储库的部署密钥设置中。
当我铸造密钥时,我将它们发送到~/.ssh/my-repo
和~/.ssh/my-repo.pub
。在我的~/.ssh/config
文件中,我更新了它。
Host *.github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/my-repo
然而,当我尝试通过SSH克隆repo时,系统提示我输入.../.ssh/id_ed25519
的密码,这是我的默认SSH密钥。我知道这个可以工作。我想测试一下我专门为my-repo
创建的密码。
谢谢你的指点。
最终目标是让远程服务器使用这个部署密钥克隆repo,目前它遇到了Permission denied(公钥)问题。
更新:
使用以下命令时,ssh -i ~/.ssh/my-repo git clone git@github.com:user/my-repo.git
我得到了暂停,ssh: connect to host git port 22: Operation timed out
2条答案
按热度按时间qpgpyjmq1#
ssh -i ~/.ssh/my-repo git clone git@github.com:user/my-repo.git
不会在ssh上运行git命令,它会尝试ssh到主机名git
,因为该主机不存在,所以超时。而是按照Testing your SSH connection中的说明进行操作。
您的ssh配置
Host *.github.com
与github.com
不匹配;它将匹配something.github.com
。请尝试Host github.com
。此外,AddKeysToKeychain和Usekeychain可能不应限制为特定主机。
31moq8wy2#
我建议使用不同于www.example.com的主机条目github.com,这正是为了明确您正在使用自定义SSH URL的事实:
那么你的测试就变成了
你的网址变成:
不再有
git@...
,因为配置文件包含User git
。