从 github 克隆到服务器授权问题

从 github 克隆到服务器授权问题

我正在尝试向 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_rsarootgit/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 版本,该版本始终以[电子邮件保护]

相关内容