Назад | Перейти на главную страницу

Проблема клонирования с 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, и когда я пытаюсь клонировать, он не подключается. Что я делаю не так?

Вы создали ключ SSH в /root/.ssh/github.id_rsa но вы используете ~/.ssh/github.id_rsa в вашей конфигурации SSH. Если вы не используете свой root аккаунт для доступа к GitHub, git будет искать SSH-ключ не в том месте. Он будет смотреть в /home/$USERNAME/.ssh/github.id_rsa вместо того /root/.ssh/github.id_rsa.

Я бы рекомендовал поместить ключ SSH в ~/.ssh/. Если вы хотите использовать свой старый ключ, просто переместите его туда:

mv /root/.ssh/github.id_rsa /home/$USERNAME/.ssh/

где $USERNAME это ваше имя пользователя.

выстрелил в темноте здесь. Github позволяет клонировать 2 типа конечных точек. http и ssh. Например

https://github.com/python-diamond/Diamond.git

против

git@github.com:python-diamond/Diamond.git

Версия https не использует ключи ssh. Поэтому убедитесь, что вы используете версию ssh, которая всегда начинается с git@github.com.