我正在尝试向 github 和我的服务器添加一个密钥,以便我的服务器可以从 github 克隆。
mkdir -p /root/.ssh
chmod 700 /root/.ssh
cat > /root/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2E.... GitHub
EOF
chmod 600 /root/.ssh/authorized_keys
cat > /root/.ssh/github.id_rsa <<EOF
-----BEGIN RSA PRIVATE KEY-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-----END RSA PRIVATE KEY-----
EOF
chmod 600 /root/.ssh/github.id_rsa
cat > /root/.ssh/config <<EOF
Host github.com
Hostname github.com
IdentityFile ~/.ssh/github.id_rsa
EOF
chmod 600 /root/.ssh/config
我已将公钥添加到 github,但当我尝试克隆时,它无法连接。我做错了什么?
答案1
您在 中创建了 SSH 密钥,但在 SSH 配置中/root/.ssh/github.id_rsa
使用。除非您使用自己的帐户访问 GitHub,否则会在错误的位置查找 SSH 密钥。它会在而不是中查找。~/.ssh/github.id_rsa
root
git
/home/$USERNAME/.ssh/github.id_rsa
/root/.ssh/github.id_rsa
我建议将 SSH 密钥放入~/.ssh/
。如果您想使用旧密钥,只需将其移至那里:
mv /root/.ssh/github.id_rsa /home/$USERNAME/.ssh/
你的用户名在哪里$USERNAME
?
答案2
瞎猜的。Github 允许 2 种端点克隆。http 和 ssh。例如
https://github.com/python-diamond/Diamond.git
对比
[email protected]:python-diamond/Diamond.git
https 版本不使用 ssh 密钥。因此,请确保您使用的是 ssh 版本,该版本始终以[电子邮件保护]