- Как сгенерировать ssh keys для git windows
- Подготовка
- Генерация SSH-ключей для GitHub
- Добавление созданных SSH-ключей в SSH-агент
- Добавление нового SSH-ключа в GitHub аккаунт
- Git SSH Windows — пошаговое руководство
- Генерация ключа SSH
- Добавление SSH-ключа в ssh-agent
- Добавление ключа SSH в учетную запись GitHub
- Работа c GitHub по SSH под Windows 10
- 4.3 Git на сервере — Генерация открытого SSH ключа
- Генерация открытого SSH ключа
- Как сгенерировать SSH ключ
- Ошибки при отсутствии SSH ключа
- I. Создание ключа ssh
- II. Смотрим свой публичный ключ
- Важно
- Читайте также
- Добавить комментарий Отменить ответ
Как сгенерировать ssh keys для git windows
На данный момент, один из самых популярных репозиториев для системы контроля версий GitHub, использует аутентификацию пользователей через открытые SSH-ключи. Это позволяет работать с сервисом без ввода логина и пароля, а также удобно производить контроль доступа к своему репозиторию.
Рассмотрим вариант создания и добавления SSH-ключей к своему GitHub аккаунту.
Подготовка
Для начала скачаем и установим клиент GitHub по ссылке https://git-scm.com
Теперь попробуем клонировать существующий репозиторий c GitHub для понимания одной из самых популярных ошибок, возникающих при начале работы с Git. Для этого откроем установленную консоль Git Bash, нажав правую кнопку мыши и выбрав пункт Git Bash Here.
Не забудем предварительно перейти в подготовленный каталог для удобства экспериментов с Git. В моем случае это будет каталог C:/domains/test.
Введем в консоли Git Bash команду клонирования удаленного репозитория с GitHub:
Именно здесь мы столкнемся с фатальной ошибкой скачивания из-за ограничения доступа к GitHub:
Решим эту проблему созданием публичного ключа для GitHub.
Генерация SSH-ключей для GitHub
- Для начала создания ключей введем следующую команду в Git консоль: В данном случае, E-mail будет использован как метка для удобства в дальнейшем использовании.
- Далее можно указать путь для сохранения ключей. Или нажать Enter, чтобы установить в место, предлагаемое по умолчанию. В моем случае это будет C:/Users/sbb/.ssh/id_rsa
- Теперь Git попросит нас ввести любую ключевую фразу для более надежной защиты вашего пароля. Можно пропустить этот этап просто нажав Enter:
Итак, мы сгенерировали SSH-ключи и теперь перейдем к следующему этапу.
Добавление созданных SSH-ключей в SSH-агент
- Сперва убедимся, что SSH-агент включен.
Введем в консоли Git команду: Это запустит работу агента в фоновом режиме. После ввода этой команды, в консоли должно появиться id запущенного процесса.
Примерно так: - Добавим SSH-ключ в SSH-агент.
Если вы хотите использовать уже существующие ключи, вместо только что сгенерированных, тогда нужно заменить id_rsa при вводе команды в консоли именем существующего файла, содержащий приватный ключ.
В случаем использования только что созданных ключей просто вводим в консоль Git команду: Как результат, должно появиться в консоли следующее:
Следующим шагом будет добавление приватного ключа в GitHub аккаунт.
Добавление нового SSH-ключа в GitHub аккаунт
- Первым делом скопируем созданный SSH-ключ в буфер обмена командой: Или можно открыть файл с ключом в любом редакторе и скопировать вручную. Файл находится в директории C:/Users/ВАШЕ_ИМЯ/.ssh/id_rsa.pub
- Откроем настройки своего аккаунта на GitHub и перейдем в раздел SSH and GPC keys
- Нажмем на кнопку New SSH key
- Добавим в поле Title нужное вам название этого ключа, например, My New Key
- Вставим из буфера обмена в поле Key наш ключ
- И нажмем кнопку Add SSH key
Проверим, что все нами сделано верно, опять введя в консоль Git команду клонирования удаленного репозитория:
Через несколько секунд получим на своем локальном компьютере полную копию нужного нам репозитория.
Таким образом единожды проведя операцию создания публичного SSH-ключа и внеся его в свой профиль на GitHub, мы обеспечим себе удобную и безопасную работу с удаленным репозиторием.
Git SSH Windows — пошаговое руководство
Настроим пошагово Git SSH для Windows 10. Это позволит вам выполнять команды git без ввода пароля от своей учетной записи GitHub.
- Генерация ключа SSH.
- Добавление SSH-ключа в ssh-agent.
- Добавление ключа SSH в учетную запись GitHub.
Генерация ключа SSH
Откройте bash/терминал . Добавьте следующий текст, подставив свой адрес электронной почты GitHub .
Будет создан ключ ssh , используя e-mail в качестве метки.
Когда вам будет предложено «Введите файл, в котором вы хотите сохранить ключ», нажмите Enter . Это установит в местоположение по умолчанию.
Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
Далее введите безопасную фразу-пароль дважды или просто нажмите Enter .
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
Добавление SSH-ключа в ssh-agent
Чтобы запустить ssh-агент введите следующую команду.
На экране отобразится похожая строка.
Agent pid 31724
Добавим свой закрытый ключ SSH в ssh-agent . Если вы создали свой ключ с другим именем (или добавляете существующий ключ с другим именем), замените в команде id_rsa на имя вашего файла закрытого (приватного) ключа.
Ключ будет успешно добавлен в ssh-агент .
Добавление ключа SSH в учетную запись GitHub
Мы сгенерировали у себя на компьютере закрытый ключ SSH и добавили его в ssh-агент . Теперь нам необходимо добавить SSH ключ в учетную запись GitHub.
Сейчас нам необходимо скопировать SSH ключ в буфер обмена.
Способов есть несколько, но я же вам предлагаю следующее решения для Windows 10: введите команду ниже.
Прямо в терминале вы увидите содержимое необходимого файла с ключем. Скопируйте его в буфер.
Теперь зайдите на вашу страницу GitHub » Settings .
Перейдите во вкладку SSH and GPG keys и нажмите на кнопку New SSH key для добавления SSH ключа в вашу учетную запись GitHub.
В поле Title добавьте заголок для данного ключа. Например, если вы захотите настроить SSH доступ на нескольких устройствах, то вы будите понимать какой ключ принадлежит какому устройству.
В поле Key добавьте свой ssh-ключ, который вы скопировали в буфер обмена на предыдущем шаге.
Нажмите Add SSH key .
Для подтверждения вам потребуется ввести свой пароль от учетной записи GitHub .
На этом настройка SSH для вашего устройства завершена, теперь вы можете работать с git без ввода пароля от своей учетной записи.
Если вам понравилась данная статья, можете прочитать как настроить моментальную загрузку сайта на хостинг и синхронизацию файлов.
Надеюсь, вам понравилась данная информация. Если вам интересна тема web-разработки, то можете следить за выходом новых статей в Telegram.
Работа c GitHub по SSH под Windows 10
Git умеет работать с четырьмя сетевыми протоколами для передачи данных: локальный, Secure Shell (SSH), Git и HTTP. Положительным аспектом использования протокола HTTP(S) является простота настройки. Поэтому при работе с GitHub он используется чаще всего.
Как настроить работу с репозиторием на GitHub.com по SSH под Windows 10? Для начала посмотрим, какие ssh-ключи уже есть в системе:
Ключей еще нет, директория пуста. Сгенерируем ключи командой
Сначала необходимо указать расположение файла для сохранения ключа. Просто жмем Enter, чтобы сохранить ключ в файле по умолчанию (
/.ssh/id_rsa ). Затем надо дважды ввести пароль (который можно оставить пустым, чтобы не вводить каждый раз).
Теперь добавим сгенерированный ключ в свой SSH-агент. Включаем SSH-агент командой
Добавляем в него ключ
Теперь надо добавить наш ключ в аккаунте GitHub. Авторизуемся и переходим на страницу https://github.com/settings/keys, жмем кнопку «New SSH key» и вставляем содержимое файла
/.ssh/id_rsa в текстовое поле «Key».
Теперь можно использовать SSH вместо HTTPS. Смотрим, какой должна быть ссылка проекта на GitHub, предварительно выбрав «Use SSH» (вместо «Use HTTPS»):
И выполняем команду:
Чтобы не вводить каждый раз пароль при работе с репозиторием на GitHub, нужно создать файл C:/Users/UserName/.bashrc и добавить туда следующее:
Теперь запрос пароля будет происходить только один раз, при запуске (каждой новой) консоли.
4.3 Git на сервере — Генерация открытого SSH ключа
Генерация открытого SSH ключа
Как отмечалось ранее, многие Git-серверы используют аутентификацию по открытым SSH-ключам. Для того чтобы предоставить открытый ключ, каждый пользователь в системе должен его сгенерировать, если только этого уже не было сделано ранее. Этот процесс аналогичен во всех операционных системах. Сначала вам стоит убедиться, что у вас ещё нет ключа. По умолчанию пользовательские SSH ключи сохраняются в каталоге
/.ssh домашнем каталоге пользователя. Вы можете легко проверить наличие ключа перейдя в этот каталог и посмотрев его содержимое:
Ищите файл с именем id_dsa или id_rsa и соответствующий ему файл с расширением .pub . Файл с расширением .pub — это ваш открытый ключ, а второй файл — ваш приватный ключ. Если указанные файлы у вас отсутствуют (или даже нет каталога .ssh ), вы можете создать их используя программу ssh-keygen , которая входит в состав пакета SSH в системах Linux/Mac, а для Windows поставляется вместе с Git:
Сначала программа попросит указать расположение файла для сохранения ключа ( .ssh/id_rsa ), затем дважды ввести пароль для шифрования. Если вы не хотите вводить пароль каждый раз при использовании ключа, то можете оставить его пустым или использовать программу ssh-agent . Если вы решили использовать пароль для приватного ключа, то настоятельно рекомендуется использовать опцию -o , которая позволяет сохранить ключ в формате, более устойчивом ко взлому методом подбора, чем стандартный формат.
Теперь каждый пользователь должен отправить свой открытый ключ вам или тому, кто администрирует Git-сервер (подразумевается, что ваш SSH-сервер уже настроен на работу с открытыми ключами). Для этого достаточно скопировать содержимое файла с расширением .pub и отправить его по электронной почте. Открытый ключ выглядит примерно так:
Как сгенерировать SSH ключ
Создаём публичный SSH ключ.
Ошибки при отсутствии SSH ключа
При отсутсвии публичного ключа для доступа к GIT репозиторию возникнет ошибка:
А если это связано со скриптом, который запускается при инициализации GIT репозитория и в котором указаны дальнейшие инструкции, то могут посыпаться и другие ошибки:
Т.е. из-за того что гит репозиторий не подтянулся, а скрипт идет дальше по указаниям, которые нужно сделать для скаченных папок, хотя ничего не скачено, вот и показываются соответствующие ошибки.
Для исправления ошибки Permission denied (publickey) необходимо занести публичный ssh ключ, который сгенерирован для компьютера, с которого осуществляется доступ на сайт github.com.
I. Создание ключа ssh
Открываем терминал и переходим в папку с ключами:
Смотрим какие файлы там существуют:
Обычно что-то вроде:
где файлы:
id_rsa – содержит секретный ключ;
id_rsa.pub — публичный ключ.
Если файлов id_rsa и id_rsa.pub нет или чтобы их пересоздать, вводим команду:
На вопрос перезапустить:
II. Смотрим свой публичный ключ
Внутри будет содержаться сгенерированный ключ, что-то вроде этого:
Этот ключ копируем и вставляем на страницу:
https://github.com/settings/keys
Там создаём ключ, нажимая на New SSH key
Вводим название ключа, например, название операционной системы (к примеру – Mac OS). А в поле Key, вставляем содержимое которое было скопировано из терминала.
Теперь не должно быть проблем при соединении этого компьютера с сервисами сайта github.com
Важно
Если мы настраиваем автодеплой на GIT, то первый раз команду git pull надо запустить в ручном режиме! Это необходимо, чтобы добавить аутентификацию гита на свой сервер.
git pull
The authenticity of host ‘github.com (140.82.118.3)’ can’t be established.
RSA key fingerprint is SHA256:.
RSA key fingerprint is MD5:.
Are you sure you want to continue connecting (yes/no)? yes
Подтверждаем. Теперь скрипты будут работать в автоматическом режиме.
Читайте также
На сайте отсутствует реклама! Значете почему?
Помогать людям — моё хобби. А навыки разработчика позволяют не парится нулевой монетизизацией этого сайта. Хотя.
Если вам помогла информация, то даже от доната в 40 рублей мне будет приятно. Докину немного, куплю латте в макдаке, вспомню за чей счет банкет и карма вам зачтется!
Но и просто оставленный комментарий благодарности ниже принесет мне улыбку радости 🙂
А если захочется написать всякие гадости с переходом на личности, да тоже не стесняйтесь, но обычно я отправляю такое в спам. Люблю, когда дома чисто.
Добавить комментарий Отменить ответ
Если возникнут вопросы пишите на электронную почту.