Не удается отправить изменения из моей локальной системы в исходную, даже после добавления открытого ключа ssh в Git Hub - PullRequest
1 голос
/ 26 сентября 2019

У меня новая система (MacBook Pro), и я хочу настроить ее так, чтобы она могла напрямую передаваться в мой удаленный репозиторий на GitHub.Я выполнил следующие шаги:

  1. Сгенерировал ключ ssh с помощью команды ssh-keygen -t rsa.
  2. Скопировал содержимое из id_rsa.pub в область ключей SSH моей учетной записи Github.
  3. Создан репозиторий на GitHub.
  4. Скопировал URL-адрес репозитория (https) в мой существующий локальный проект, используя git remote set-url origin https://github.com/username/repo.git.
  5. Взял, используя git pull origin master (который работалбез ошибок).
  6. При нажатии новых изменений с помощью git push origin master я получил следующую ошибку.
remote: Permission to UserName/repo-name.git denied to name.
fatal: unable to access 'https://github.com/UserName/repo-name.git/': The requested URL returned error: 403

Вопрос :
1.Почему я получаю ошибку permissions даже после добавления ключа SSH в Github?Разве GitHub не должен считать мою систему доверенным устройством после добавления ключа SSH?
2. Как добавить мою систему в качестве доверенного устройства, чтобы я не получил ошибку denied error?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019
  1. Почему я получаю ошибку «Отказано в доступе» даже после добавления ключа SSH в Github?

Поскольку вы используете ключ SSH, который не имеет ничего общего с аутентификацией HTTPS (на основе имени пользователя / пароля)

Как добавить мою системукак доверенное устройство, чтобы я не получил сообщение об ошибке «Отказано в доступе»?

Либо установите правильный URL-адрес SSH

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
           ^^^^^^^

Это зависит от регистра, и имя пользователя должно бытьGitHub, где находится ваше хранилище.
Он не имеет ничего общего с git config user.name / user.email (которые вообще не используются для аутентификации, только для авторства коммитов)

Или вы сохраняете текущий URL-адрес HTTPS, но вы проверяете, есть ли у вас диспетчер учетных данных, который кэширует неправильные учетные данные:

git config credential.helper

Например, для менеджера один , вы можете отклонить старый/ заполните новые учетные данные (имя пользователя / пароль GitHub), связанные с github.com.

0 голосов
/ 26 сентября 2019

Вы устанавливаете источник на https, используя конфигурацию ssh.Попробуйте вместо пульта установить ssh:

git remote set-url git@github.com:USERNAME/REPOSITORY.git
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...