Я на Mac Snow Leopard и я только что установил git
.
Я только что попробовал
git clone git@thechaw.com:cakebook.git
но это дает мне эту ошибку:
Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Что мне не хватает?
Я также попытался сделать ssh-keygen
без пас-фазы, но все еще та же ошибка.
git
ssh
ssh-keys
public-key
teepusink
источник
источник
sudo
- это другой пользователь с другим открытым ключом.ssh-keygen
утилиты. Удаление старого открытого ключа в личных настройках на github и добавление моего сгенерированного ssh ключа id_rsa.pub к ключам SSH и GPG устранило проблемы с разрешением клонирования.Ответы:
Если пользователь не создал пару открытых / закрытых ключей ssh, заданную ранее
Эта информация работает с theChaw, но может быть применена ко всем другим репозиториям git, которые поддерживают аутентификацию SSH-ключей. (См., Например , Gitolite , Gitlab или GitHub.)
Дополнительную информацию можно найти по адресу https://help.github.com/articles/generating-ssh-keys (благодаря @Lee Whitney) -
Если пользователь сгенерировал пару открытых / закрытых ключей ssh, заданную ранее
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
источник
ssh-add ~/.ssh/id_rsa
.xclip
в Linux работало только путем выполнения следующих действий,xclip -sel clip < ~/.ssh/id_rsa.pub
перечисленных здесь: help.github.com/articles/generating-ssh-keysБолее обширное устранение неполадок и даже автоматическое исправление могут быть сделаны с:
Источник: https://help.github.com/articles/error-permission-denied-publickey/
источник
Эта ошибка может возникать, когда вы обращаетесь к URL-адресу SSH (чтение / запись) вместо URL-адреса Git только для чтения, но у вас нет прав на запись в этот репозиторий.
Иногда вы просто хотите клонировать свое собственное хранилище, например, развернуть на сервере. В этом случае вам нужен только доступ только для чтения. Но так как это ваше собственное репо, GitHub может отображать SSH URL, если вы этого хотите. В этой ситуации, если открытый ключ вашего удаленного хоста отсутствует в ваших SSH-ключах GitHub, вам будет отказано в доступе, что ожидается .
Эквивалентный случай - когда вы пытаетесь клонировать репозиторий другого человека, к которому у вас нет прав записи с SSH URL.
Одним словом, если вы хотите клонировать репо, используйте HTTPS URL (
https://github.com/{user_name}/{project_name}.git
) вместо SSH URL (git@github.com:{user_name}/{project_name}.git
), что позволяет избежать (ненужной) проверки открытого ключа.Обновление: GitHub отображает HTTPS в качестве протокола по умолчанию, и этот шаг, вероятно, может уменьшить возможное неправильное использование URL-адресов SSH.
источник
https://github.com
git url, это все еще говоритSSL certificate problem: self signed certificate in certificate chain
.git -c http.sslVerify=false clone ...
кажется опасным ходом. Chrome не дает никаких предупреждений ssl. Мысли?git clone https://github.com/MyUserName/MyRepo.git
Просто нажмите на текстовые ссылки под URL-адресом репо справа от страницы Github, где написано: « Вы можете клонировать с HTTPS, SSH или Subversion. . " (Нажмите HTTPS, чтобы получить ссылку вместо стандартного SSH .)Ссылка справки github помогла мне разобраться с этой проблемой. Похоже, ключ ssh не был добавлен в ssh-agent. Это то, что я в итоге сделал.
Команда 1:
Убедитесь, что ssh-agent включен. Команда запускает ssh-agent в фоновом режиме:
Команда 2:
Добавьте ваш SSH-ключ в ssh-agent:
источник
Получил тот же отчет об ошибке.
Исправлено использование HTTP вместо. Так как я не хочу устанавливать «ключи SSH» для тестового ПК.
Измените URL на HTTP при клонировании:
Моя проблема немного другая : у меня установлен URL при добавлении существующего локального репо в удаленный, используя:
Чтобы исправить это, сбросьте URL на HTTP:
Кстати, вы можете проверить свой URL с помощью команды:
Надеюсь, это поможет кому-то вроде меня. : D
источник
Это работает для меня:
источник
Обратите внимание, что (по крайней мере, для некоторых проектов) у вас должна быть учетная запись github с ключом ssh .
Посмотрите на ключи, перечисленные в вашем агенте аутентификации ( ssh-add -l )
(если вы его не видите, добавьте один из существующих ключей с помощью ssh-add / path / to / your / key (например: ssh-add ~ /.ssh/id_rsa ))
(если у вас нет ключей, сначала создайте их. См .: http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html или просто гугл сш-кейген)
Чтобы убедиться, что у вас есть ключ, связанный с вашей учетной записью GitHub :
Перейдите по адресу : https://github.com/settings/ssh
Вы должны увидеть хотя бы один ключ с ключом хеша, совпадающим с одним из хешей, которые вы видели, когда вы ввели ssh-add -l минуту назад.
Если нет, добавьте один, затем попробуйте снова.
источник
Я боролся с той же проблемой, что я и сделал, и я смог клонировать репо. Я следовал этой процедуре для iMac .
Первый шаг: проверка, есть ли у нас открытый ключ SSH.
ls -al ~/.ssh
чтобы увидеть, есть ли существующие ключи SSH:Проверьте список каталогов, чтобы узнать, есть ли у вас открытый ключ SSH. Общедоступными по умолчанию являются один из следующих d_dsa.pub, id_ecdsa.pub, id_ed25519.pub, id_rsa.pub
Если вы не нашли, перейдите к шагу 2, в противном случае выполните шаг 3
Шаг 2: Генерация открытого ключа SSH
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Generating public/private rsa key pair
. Когда он предложит"Enter a file in which to save the key,"
нажать Enter. Это принимает местоположение файла по умолчанию. Когда появится запросEnter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Просто нажмите Enter еще раз. В командной строке введите безопасную фразу-пароль.Enter passphrase (empty for no passphrase): [Type a passphrase]
нажмите ввод, если вы не хотитеEnter same passphrase again: [Type passphrase again]
нажимать ввод еще разЭто сгенерирует
id_rsa.pub
Шаг 3: Добавление вашего SSH-ключа в ssh-agent
eval "$(ssh-agent -s)"
$ ssh-add -K ~/.ssh/id_rsa
Теперь скопируйте ключ SSH и добавьте его в свою учетную запись github.
pbcopy < ~/.ssh/id_rsa.pub
Это скопирует файл в буфер обмена. Теперь откройте вашу учетную запись github. Выберите « Настройки»> «Ключи SSH и GPG»> «Новый ключ SSH». Введите название, вставьте ключ из буфера обмена и сохраните его. Вуаля, вы сделали.источник
У меня была немного другая ситуация, я вошел на удаленный сервер и использовал git на сервере, когда я выполнял любую команду git, я получал то же сообщение
Я исправил это, изменив файл / etc / ssh_config на моем Mac. от
в
источник
config.ssh.forward_agent = true
, перезапустил ВМ, и теперь он работает.Я встретил ту же проблему из - за меня думал , разница между SSH и HTTPS является
https://github.com/USERNAME/REPOSITORY.git
ssh://github.com/USERNAME/REPOSITORY.git
Так что я изменился с HTTPS на SSH , просто изменив
https://
кssh://
ничего на конце URL был изменен.Но правда в том,
Что означает, что я изменился
ssh://github.com/USERNAME/REPOSITORY.git
наgit@github.com:USERNAME/REPOSITORY.git
это работает.Глупая ошибка, но надежда кому-то помогает!
источник
ssh://github.com/USERNAME/REPOSITORY.git
наgit@github.com:USERNAME/REPOSITORY.git
это работает.ssh
вместо того,https
чтобы я просто изменил 'https: //' на 'ssh: // `, тогда я получил ошибку. Так что поменяйте 'ssh: // git /../ `на' git @ .. /":) Отредактировал мой ответ.В Windows убедитесь, что все ваши приложения согласны с HOME. Msys на удивление НЕ сделает это за вас. Мне пришлось установить переменную окружения, потому что ssh и git не могли договориться о том, где находится мой каталог .ssh.
источник
Вы в корпоративной среде ? Возможно ли, что ваши системные переменные недавно изменились? Согласно такому ответу, ключи ssh живут в
%HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa.pub
. Так что, если он был%HOMEDRIVE%
недавно изменен, git не знает, где искать ваш ключ, и, следовательно, весь материал для аутентификации.Попробуйте запустить
ssh -vT git@github.com
. Обратите внимание, гдеidentity file
находится. Для меня это указывало не на мой обычный,\Users\MyLogin
а скорее на сетевой диск из-за изменения переменных среды, выдвигаемых на уровне сети.Решение? Так как мои новые
%HOMEDRIVE%
имеют те же права доступа, что и мои локальные файлы, я просто переместил туда свою папку .ssh и назвал ее день.источник
Ребята, вот как это работает для меня:
Примечание : вы не должны использовать команду sudo с Git. Если у вас есть веская причина, по которой вы должны использовать sudo, убедитесь, что вы используете его с каждой командой (вероятно, просто лучше использовать su, чтобы получить оболочку от имени пользователя root). Если вы генерируете ключи SSH без sudo, а затем пытаетесь использовать команду типа sudo git push, вы не будете использовать те же ключи, которые вы сгенерировали
источник
В основных инструкциях GIT не упоминается о ключах SSH. Перейдя по некоторым из приведенных выше ссылок, я нашел страницу справки git, в которой пошагово объясняется, как именно это сделать для различных операционных систем (ссылка будет определять вашу ОС и, соответственно, перенаправлять):
http://help.github.com/set-up-git-redirect/
Он просматривает все необходимое для GITHub, а также дает подробные объяснения, такие как «зачем добавлять ключевую фразу при создании ключа RSA». Я решил опубликовать это, если это поможет кому-то еще ...
источник
Один из самых простых способов
перейти к терминалу
источник
В дополнение к ответу Руфинуса, ярлык для копирования вашего ключа ssh в буфер обмена в Windows :
type id_rsa.pub | clip
Refs:
источник
Если у вас есть более одного ключа, вам может понадобиться
ssh-add private-keyfile
источник
Я столкнулся с этой ошибкой, потому что мне нужно было предоставить текущему рабочему каталогу разрешения 700:
источник
Мне пришлось скопировать мои ключи SSH в корневую папку. Google Cloud Compute Engine под управлением Ubuntu 18.04
источник
Я только что столкнулся с этой проблемой при настройке моего текущего проекта, и ни одно из вышеуказанных решений не работает. поэтому я попытался посмотреть, что на самом деле происходит в списке отладки, используя команду ssh -vT git@github.com. Я заметил, что моего закрытого ключа с именем файла нет в списке. поэтому переименовав имя файла с закрытым ключом в id_rsa, сделайте свою работу. надеюсь, это поможет.
источник
Это довольно просто. Введите следующую команду
Сгенерируйте ключ SSH. Откройте файл и скопируйте содержимое. Перейдите на страницу настроек GitHub и нажмите на ключ SSH. Нажмите Добавить новый ключ SSH и вставьте содержимое здесь. Вот и все :) Вы не должны видеть проблему снова.
источник
Я получал похожую ошибку «Отказано в доступе (publickey)» при попытке запустить make-файл.
В качестве альтернативы вышеприведенным шагам SSH вы можете установить собственное приложение GitHub для Mac.
Нажмите Загрузить GitHub для Mac по адресу - https://help.github.com/articles/set-up-git#platform-mac.
Как только вы завершите настройку с помощью своей учетной записи git hub (я также установил инструменты командной строки git hub, но не уверен, требуется ли этот шаг или нет), я получил электронное письмо -
[GitHub] Новый открытый ключ был добавлен в ваш аккаунт
и моя ошибка была исправлена.
источник
Я получаю ту же ошибку. Моя проблема сводилась к смешиванию в sudo.
Я не мог создать каталог, в который я клонировал автоматически, без префикса команды git clone с sudo. Однако когда я это сделал, мои ssh-ключи не были правильно указаны.
Чтобы исправить это, я установил разрешения через chmod для родительского каталога, в котором я хотел разместить свой клон, чтобы я мог писать в него. Затем я запустил git clone БЕЗ префикса sudo. Это тогда сработало! Я изменил разрешения обратно после этого. Выполнено.
источник
Я получил эту ошибку, потому что я сгенерировал ключи SSH с неправильным адресом электронной почты. Я смог подключиться с помощью SSH, но не с помощью GIT. Решением было восстановить ключи, используя основной адрес электронной почты моей учетной записи на github.
источник
Это сработало для меня.
Ваш открытый ключ сохраняется в файле id_rsa.pub; и является ключом, который вы загружаете в свою учетную запись. Вы можете сохранить этот ключ в буфер обмена, выполнив это:
источник
У меня сработало
источник
Самое простое решение этого, когда вы пытаетесь отправить в хранилище с другим именем пользователя:
источник
Эта странная ошибка в моем случае была признаком
gnome-keyring-daemon
неправильного присвоения имени ключу, к которому требовался пароль.Я следую за шагами, изложенными здесь, и ввел пароль через терминал. Ошибка, известная как интерфейс GUI, была устранена. Смотрите: /ubuntu/3045/how-to-disable-gnome-keyring
источник
В моем случае я переустановил Ubuntu, и имя пользователя изменилось с предыдущего. В этом случае сгенерированный ключ ssh также отличается от предыдущего.
Проблема решена путем простого копирования текущего открытого ключа ssh в хранилище. Ключ будет доступен у вашего пользователя
/home/.ssh/id_rsa.pub
источник
В моем MAC я решил это с:
По какой-то причине мой мерзавец остановился, чтобы найти закрытый ключ в
github_rsa
файле. Это произошло в конкретном репо. Я имею в виду, что в других репозиториях git продолжал работать нормально.Я думаю, что это ошибка.
Я мог бы найти это поведение работает
ssh -vT git@github.com
источник