Как подключиться к github по ssh

Доступ к bitbucket и github по ssh ключам

Если попытка склонировать любой приватный репозиторий с bitbucket или github по ssh вызывает ошибку вида:

То это значит, что вы не прошли авторизацию по ssh-ключам. Тут 2 варианта:

Если ключи у вас уже есть, то читайте сразу как добавить ssh ключ на github или добавить ssh ключ на bitbucket.

Рассмотрим подробнее как 1. создать ssh-ключи на linux (ubuntu) и добавить ssh ключи на 2. github и 3. bitbucket.

Генерация ssh-ключей

Для генерации ssh-ключа выполняем следующие команды:

После этого будет предложено ввести имя файла с ключами, либо если имя файла не указать, ключи будут созданы в файле id_rsa. Задаём имя файла с ключами, например, как «git_rsa«. Таким образом мы будем знать, что этот ssh-ключ используется конкретно для git-авторизации. Хотя, никто не запрещает использовать один и тот же ключ id_rsa. Ключи будут храниться в домашней директории пользователя

На запрос о установке пароля на связку ключей можно нажать enter, т.е. оставить пароль пустым (это безопасно). Теперь в каталоге

/.ssh появились 2 файла ключа:

По умолчанию при подключении к серверу для ssh-авторизации используется ключ с именем id_rsa. Мы это обойдём. Чтобы не указывать имя нужного нам ключа (git_rsa) при каждом подключении к серверу, отредактируйте файл

/.ssh/config (если файла ещё нет, создайте), добавьте содержимое для идентификации bitbucket-хоста и github:

Всё, на нашем комьютере или сервере (смотря где создавали ключи) нужные ключи созданы. Остаётся сообщить (добавить) наш публичный ключ туда, где мы будем проходить авторизацию, т.е. на github и bitbucket.

Добавление ssh-ключа на github

В свежем интерфейсе github:

В форме добавления ключа указываем title (это название ключа, вводится для удобства, не на что не влияет) и key (это сам ключ, т.е. вставляем сюда всё содержимое файла

/.ssh/git_rsa.pub). Нажимаем Add key.

Добавление ssh-ключа на bitbucket

Теперь вы можете клонировать свои приватные репозитории по ssh (git@github) без ввода пароля.

На что стоит обратить внимание если ssh-авторизация по ключу все еще не работает:

«Warning: Permanently added the RSA host key for IP address ‘2406:da. e9:9f55’ to the list of known hosts.
Permission denied (publickey).»

Что еще нужно, чтобы пул/пуш заработал по ssh. Я уже в депрессии полнейшей!)) Может для доступа к самому репо на битбакете отдельные ключи нужно добавлять? Типа, к аккаунту на битбаккете подключается, а к репе уже нет?

Amati2007, с виду вы все делаете верно!
на битбакет публичный ключ достаточно добавить только в аккаунт. Можно и отдельно в каждый репозиторий добавлять ключ, но не обязательно.

/.ssh/config нет ничего лишнего? Указания на какой-то левый ключ? Для чистоты эксперимента удалить файл)
4) known_hosts удалить для чистоты эксперимента, он должен сам создаваться при первом подключении (хотя возможно еще зависит от ssh-клиента).

Вообще, судя по ошибке, не нравится именно ключ: проверить что на битбакет залит нужный ключ. Может, стоит сгенерить новый ключ и проверить заново (старый удалить).

Читайте также:  Макрогол 3350 или 4000 в чем разница

и т.д.
То есть складывается такое ощущение, что у битбакета динамический IP, хотя, по-идее, для таких подключений должен быть набор статичных. Они даже их список где-то публиковали.
4) Да, если я удаляю known_hosts, то при попытке пула / пуша в путти вначале идет запрос про ключи The authenticity of host ‘. (полный текст я приводил в основном сообщении), а когда я отвечаю на него Yes, то known_hosts на сервере создается заново.

Источник

Использование GitHub и Bitbucket без пароля с помощью SSH.

При выполнении команд git в консоли для связи с удаленным репозиторием, приходится каждый раз вводить свои регистрационные данные. Но кроме входа по вводу логина и пароля, можно использовать SSH, так как вместо этого используется пара ключей — открытый и закрытый.
Приведу краткую инструкцию по созданию и использованию SSH для git.

Прежде всего можно посмотреть есть ли уже ключи:

Если в списке есть файлы с таким окончанием:
-rw-r—r— 1 USER 197121 3247 июл 2 18:49 id_rsa
-rw-r—r— 1 USER 197121 739 июл 2 18:49 id_rsa.pub

значит ключ уже есть и можно новый не создавать.
Найти данные ключи можно в этой папке:
C:/Users/ВАШЕ_ИМЯ/.ssh

Если ключ нужно создать, то в консоли git:
где в консоли нужно указать ваш электронный адрес (используется в качестве метки)
При этом предложат ввести ответы на 3 вопроса, на которые можно просто нажать Enter. В т.ч. там предложат задать контрольную фразу, которую нужно будет вводить каждый раз. Чтобы этого не делать – не задаем ее.
После выполнения появился текст с рисунком из символов.

Набираем
и смотрим на вывод. Он должен быть похож на следующий:

Это SSH-url-ы. Если это не так и они начинаются с https://github.com/, то
— перейти на страницу нужного проекта на GitHub,
— нажать на зеленую кнопку «Clone or download»;
— нажать ссылочку Use SSH и скопировать адрес;
— подставить его после git remote set-url origin, чтобы получилось что-то вроде
выполнить команду.

Запуск ssh-агента:
появится надпись на подобии:
Agent pid 6684

Добавить созданные ключи к ssh-агенту:
появилась надпись на подобии:
Identity added: /c/Users/fghfgh/.ssh/id_rsa (/c/Users/fghfgh/.ssh/id_rsa)

Для вставки ключа на GitHub, скопируем ключ в буфер обмена:
так же можно просто скопировать текст из файла id_rsa.pub

Регистрация ключа на GitHub или Bitbucket.

Указываем произвольное имя ключа, например «key» и вставляем из буфера блок кода ключа. После этого жмем кнопку – «Add SSH key».

Все готово, теперь при выполнении команды
не придется каждый раз вводить логин и пароль.

Источник

SSH-протокол на GitHub

В этой статье рассказывается, как настроить на Windows SSH-протокол для обмена данными с GitHub-репозиторием.
SSH — самый распространенный протокол при работе с Git. В то время как при отправке данных (команда push) на сервер через протокол HTTP приходится вводить имя и пароль (по крайней мере, в первый раз), при работе через SSH-протокол можно настроить аутентификацию с помощью пары SSH-ключей.

Читайте также:  Как подтянуть ручник пежо 308

Что же это за пара ключей? Один — закрытый ключ, он хранится в вашей локальной папке пользователя C:/users/имя/.ssh/, а другой — открытый ключ, он хранится на сервере GitHub.

Где взять ключ

Ключ (точнее, пару ключей) можно сгенерировать или взять готовый (возможно, он уже есть на вашем компьютере).

Если ключ есть

Чтобы понять, есть ли уже ключи на вашем компьютере, проверьте папку

Обычно ключи называются:

В названии может фигурировать dsa вместо rsa.

Если ключи есть, их можно смело использовать.

Если же ключей нет, их легко сгенерировать.

Как сгенерировать ключ

Генератор ключей поставляется вместе с программой Git for Windows. Чтобы его сгенерировать:

Теперь наша задача – загрузить публичный ключ в аккаунт на GitHub.

Загрузка публичного ключа в GitHub-аккаунт

Что касается приватного ключа, он должен оставаться в вашей пользовательской папке. Если вы сгенерировали ключ в другом месте, переложите его в C:/users/имя/.ssh/, иначе ничего не будет работать.

А публичный ключ надо загрузить в GitHub-аккаунт. Для этого:

Проверка

После проделанных действий обмен данными с сервером по SSH-протоколу должен заработать. Чтобы проверить это, попробуем склонировать репозиторий через SSH-протокол в новую папку:

Все должно работать без ввода логина и пароля.

Обратите внимание, что адрес репозитория при обмене по SSH-протоколу и HTTP-протоколу разный. По HTTP-протоколу мы бы клонировали репозиторий так:

Можно выполнить вышеприведенную команду в отдельной папке и убедиться, что с одним и тем же репозиторием можно одновременно работать по двум протоколам из разных мест.

В общем случае URL выглядят так:

SSH-протокол
HTTPS-протокол

Ключи участникам команды

Технически с любого компьютера, на котором лежит ваш приватный ключ, можно отправлять изменения в репозиторий. Но свой приватный ключ никому отдавать не надо, это неправильная стратегия. Потому что ключ служит для аутентификации, и он должен быть у каждого свой.

Заключение

Мы рассмотрели, как сгенерировать ключ и загрузить его в свой GitHub аккаунт.

Если все участники команды сгенерируют свои ключи вышеописанными способами, а вы загрузите их в свой аккаунт GitHub, то эти участники смогут вносить изменения ваш репозиторий.

Но существует и другая стратегия обмена изменениями – Forked репозиторий.

Источник

Настройка доступа к репозиторию по SSH

Как подключить репозиторий по SSH? Подробная инструкция о том как сгенерировать SSH ключ, добавить SSH ключ в github или bitbucket и подключить репозиторий в smartGit с помощью SSH ключа.

Генерация SSH ключа

Пример будет реализована в ОС Windows, но команды и порядок действий для Linux и Mac будут такими же.

Открываем консоль (терминал) и вводим команду:

Далее вам будет предложено «Введите файл в котором будет сохранен ключ», нажмите Enter (для сохранения расположения файла по умолчанию):

После чего введите пароль (секретную фразу) и повторите его:

Все, ключ сгенерирован.

Добавление SSH ключа в github

Ключ сгенерирован, теперь необходимо добавить его на сайт github.com. Откройте https://github.com/ и авторизируйтесь. После чего зайдите в Настройки (https://github.com/settings/profile) => SSH (https://github.com/settings/ssh) и нажмите на кнопку «Add SSH key»:

Читайте также:  Как подобрать свой стиль тест

Вводим название для ключа и сам ключ. Ключ это содержимое файла id_rsa.pub ( D:/openserver/.ssh/id_rsa.pub ), жмем кнопку «Add key»:

Готово, ключ добавлен в github.

Добавление SSH ключа в bitbucket

Откройте bitbucket.org и авторизируйтесь. После чего зайдите в Bitbucket settings (https://bitbucket.org/account/user/egorik/) => SECURITY => SSH keys (https://bitbucket.org/account/user/egorik/ssh-keys/) и нажмите на кнопку «Add key»:

Вводим название для ключа и сам ключ. Ключ это содержимое файла id_rsa.pub ( D:/openserver/.ssh/id_rsa.pub ), жмем кнопку «Add key»:

Готово, ключ добавлен в bitbucket.

Добавление репозитория и SSH ключа в SmartGit

Открываем SmartGit. И добавляем репозиторий (Repository => Add or create. ) Ctrl + O :

Вставляем путь к папке, где будет храниться код:

Подтверждаем инициализацию репозитория:

Вставляем url откуда будем клонировать репозиторий и жмем на кнопку «Add»:

Так как мы указали не https url, то нам необходимо указать путь к файлу с секретным ключем ( D:/OpenServer/.ssh/id_rsa ) и пароль к ниму (который мы указали при создании этой пары ключей):

Все, ключ добавлен, дальше работайте с репозиторием как обычно. При обращении к любому из открытых для вас репозиториев пользователя этот ключ будет работать, добавлять его заново не нужно.

Если у вас есть вопросы или предложения по улучшению кода описанного в статье пишите в комментариях.
Я всегда открыт к конструктивному диалогу

Источник

Настроим пошагово Git SSH для Windows 10. Это позволит вам выполнять команды git без ввода пароля от своей учетной записи GitHub.

Генерация ключа SSH

Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

Добавление SSH-ключа в ssh-agent

Чтобы запустить ssh-агент введите следующую команду.

На экране отобразится похожая строка.

Добавление ключа SSH в учетную запись GitHub

Сейчас нам необходимо скопировать SSH ключ в буфер обмена.

Способов есть несколько, но я же вам предлагаю следующее решения для Windows 10: введите команду ниже.

Прямо в терминале вы увидите содержимое необходимого файла с ключем. Скопируйте его в буфер.

Перейдите во вкладку SSH and GPG keys и нажмите на кнопку New SSH key для добавления SSH ключа в вашу учетную запись GitHub.

В поле Title добавьте заголок для данного ключа. Например, если вы захотите настроить SSH доступ на нескольких устройствах, то вы будите понимать какой ключ принадлежит какому устройству.

В поле Key добавьте свой ssh-ключ, который вы скопировали в буфер обмена на предыдущем шаге.

На этом настройка SSH для вашего устройства завершена, теперь вы можете работать с git без ввода пароля от своей учетной записи.

Если вам понравилась данная статья, можете прочитать как настроить моментальную загрузку сайта на хостинг и синхронизацию файлов.

Надеюсь, вам понравилась данная информация. Если вам интересна тема web-разработки, то можете следить за выходом новых статей в Telegram.

Источник

Познавательно-развлекательный портал