Настройка Github ssh для Ubuntu

Обновлено: 03.07.2024

Ключ SSH — это учетные данные для доступа к сетевому протоколу SSH (secure shell). Этот защищенный сетевой протокол с проверкой подлинности и шифрованием используется для удаленной связи между машинами в незащищенной открытой сети. SSH используется для удаленной передачи файлов, управления сетью и удаленного доступа к операционной системе. Аббревиатура SSH также используется для описания набора инструментов, используемых для взаимодействия с протоколом SSH.

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

Как создать ключ SSH

Ключи SSH генерируются с помощью криптографического алгоритма с открытым ключом, наиболее распространенным из которых является RSA или DSA. На очень высоком уровне ключи SSH генерируются с помощью математической формулы, которая принимает 2 простых числа и случайную начальную переменную для вывода открытого и закрытого ключа. Это односторонняя формула, которая гарантирует, что открытый ключ может быть получен из закрытого ключа, но закрытый ключ не может быть получен из открытого ключа.

Ключи SSH создаются с помощью инструмента генерации ключей. Набор инструментов командной строки SSH включает инструмент генерации ключей. Большинство поставщиков хостинга git предлагают руководства по созданию ключа SSH.

Создание ключа SSH на Mac и Linux

Операционные системы OSX и Linux имеют комплексные современные терминальные приложения, которые поставляются с установленным пакетом SSH. Процесс создания ключа SSH для них одинаков.

<р>1. выполните следующее, чтобы начать создание ключа

Эта команда создаст новый ключ SSH, используя адрес электронной почты в качестве метки

<р>2. Затем вам будет предложено «Введите файл, в котором нужно сохранить ключ».
Вы можете указать расположение файла или нажать «Ввод», чтобы принять расположение файла по умолчанию.

<р>3. Следующее приглашение запросит безопасную парольную фразу.
Парольная фраза добавит дополнительный уровень безопасности SSH и потребуется каждый раз при использовании ключа SSH. Если кто-то получит доступ к компьютеру, на котором хранятся закрытые ключи, он также может получить доступ к любой системе, использующей этот ключ. Добавление парольной фразы к ключам предотвратит этот сценарий.

В этот момент новый ключ SSH будет сгенерирован по ранее указанному пути к файлу.

<р>4. Добавьте новый ключ SSH в ssh-agent

Агент ssh — это еще одна программа, входящая в набор инструментов SSH. SSH-агент отвечает за хранение приватных ключей. Думайте об этом как о связке ключей. В дополнение к хранению закрытых ключей он также обрабатывает запросы на подписание запросов SSH с помощью закрытых ключей, чтобы закрытые ключи никогда не передавались незащищенным образом.

Прежде чем добавлять новый ключ SSH в ssh-agent, сначала убедитесь, что ssh-agent запущен, выполнив:

После запуска агента ssh следующая команда добавит новый ключ SSH к локальному агенту SSH.

Новый ключ SSH зарегистрирован и готов к использованию!

Создание ключа SSH в Windows

В средах Windows нет стандартной оболочки unix по умолчанию. Внешние программы оболочки должны быть установлены, чтобы иметь полный опыт работы с кейгеном. Самый простой вариант — использовать Git Bash. После установки Git Bash те же шаги для Linux и Mac можно выполнить в оболочке Git Bash.

Подсистема Windows Linux

Современные среды Windows предлагают подсистему Windows Linux. Подсистема Windows Linux предлагает полную оболочку Linux в традиционной среде Windows. Если доступна подсистема Linux, те же шаги, которые обсуждались ранее для Linux и Mac, можно выполнить в подсистеме Windows Linux.

Обзор

Ключи SSH используются для аутентификации безопасных соединений. Следуя этому руководству, вы сможете создать и начать использовать SSH-ключ. Git может использовать ключи SSH вместо традиционной аутентификации по паролю при отправке или извлечении в удаленные репозитории. Современные размещенные решения Git, такие как Bitbucket, поддерживают аутентификацию по ключу SSH.

Чтобы понять Github, сначала нужно убедиться, что вы знакомы с Git . Git — это система управления версиями с открытым исходным кодом, созданная Линусом Тровальдсом. Короче говоря, Git — это система контроля версий, такая же как Subversion и CVS. Вы сможете использовать это, установив команду «git» и утилиты на свой сервер. Git — это инструмент командной строки, а GitHub — это место, где разработчики хранят свои проекты и работы и могут делиться ими с остальным миром, а также могут обновлять версии. У вас есть возможность создавать частные и общедоступные репозитории и использовать их в соответствии со своими потребностями.

Для начала вам нужно убедиться, что у вас есть Linux-терминал с установленной командой git, и у вас есть возможность использовать команду git пользователем, с которым вы пытаетесь. Всегда старайтесь использовать отдельного пользователя и не используйте для него пользователя root. Также вам необходимо создать учетную запись на Github.

Чтобы создать учетную запись на Github, выполните следующие действия

  • Перейдите в раздел «Присоединиться к GitHub».
  • Заполните свои данные и нажмите «Создать аккаунт».
  • Выберите нужный план и нажмите "Завершить регистрацию".
  • Когда вы зарегистрируетесь, вы получите электронное письмо для подтверждения своего адреса электронной почты. Нажмите на ссылку, чтобы завершить проверку.

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

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

Войдите в свой терминал через SSH.

Создайте пару ключей, выполнив следующую команду, подставив свой адрес электронной почты GitHub между кавычками:

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

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

Чтобы добавить ключ ssh в GitHub, вам нужно сделать копию открытого ключа, и вы можете использовать приведенную ниже команду ssh, чтобы сделать это.

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

  • Вам необходимо войти в учетную запись Github, используя свой логин/пароль.
  • Нажмите на изображение профиля и выберите "Настройки" в раскрывающемся списке.
  • Выберите «Ключи SSH и GPG» в меню слева.

Чтобы добавить свой первый ключ или другой ключ, нажмите «Новый ключ SSH»

В поле «Название» вам нужно добавить метку, которую вы сможете запомнить. (Я использовал MacBook Air Сумеша).

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

В поле «ключ» добавьте указанный выше ключ, который вы получите с помощью команды «cat /home/user/.ssh/id_rsa.pub», которая будет начинаться с ssh-rsa

При появлении запроса подтвердите свой пароль GitHub, который будет использоваться для проверки.

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

Проверьте подключение с локального компьютера к Github

Если вы впервые подключаетесь к этому компьютеру, вы увидите результат, подобный приведенному ниже, и в этом случае вам нужно ввести Да:

Вы увидите такой вывод:

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

Если у вас есть небольшое количество членов команды, работающих над некоторыми проектами, вы можете настроить сервер Git через SSH в своем офисе и очень легко работать над проектами в команде. В этом случае вам не нужно использовать GitHub или какие-либо другие сервисы. Git-сервер на основе SSH очень прост в настройке и использовании. В этой статье я собираюсь показать вам, как настроить сервер Git с SSH в Ubuntu и как его использовать. Итак, приступим.

В этом разделе я покажу вам, как настроить сервер Ubuntu в качестве сервера Git, доступного по SSH.
Сначала обновите кэш репозитория пакетов APT с помощью следующей команды:


Кэш репозитория пакетов APT должен быть обновлен.


Теперь установите сервер OpenSSH и Git с помощью следующей команды:


Теперь нажмите Y, а затем нажмите для подтверждения установки.


Должны быть установлены сервер OpenSSH и Git.


Теперь создайте нового пользователя git с помощью следующей команды:


Все репозитории Git будут сохранены в домашнем каталоге пользователя git /home/git.

Теперь войдите в систему как пользователь git с помощью следующей команды:


Теперь создайте новый каталог .ssh с помощью следующей команды:

Теперь разрешите только пользователю git иметь права на чтение, запись и выполнение в каталоге .ssh/ следующим образом:


Как видите, пользователь git имеет права только на чтение (r), запись (w) и выполнение (x) в каталоге .ssh/.


Теперь создайте новый пустой файл .ssh/authorized_keys следующим образом:


Разрешить чтение и запись в файл только пользователю git следующим образом:


Как видите, только пользователь git имеет права на чтение (r) и запись (w) в файл .ssh/authorized_keys.


В файл .ssh/authorized_keys необходимо добавить открытый ключ пользователей, которым вы хотите получить доступ к репозиториям Git на сервере Git.

Добавление открытого ключа клиента на сервер Git:

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

Клиент может сгенерировать пару открытого и закрытого ключей следующим образом:





Теперь клиент может найти свой открытый ключ следующим образом:


Должен быть распечатан открытый ключ клиента. Теперь клиент может отправить этот открытый ключ менеджеру (который управляет сервером Git). Затем менеджер может добавить открытый ключ на сервер Git. Затем клиент может получить доступ к серверу Git.

Допустим, клиент отправил свой открытый ключ менеджеру сервера Git. Менеджер загрузил открытый ключ в файл /tmp/shovon-key.pub на сервере Git.


Теперь менеджер сервера Git может добавить открытый ключ клиента следующим образом:


Теперь в файле .ssh/authorized_keys должен быть открытый ключ клиента.


Создание репозиториев Git на сервере:

Клиенты не могут создавать новые репозитории Git на сервере. Менеджер сервера Git должен создать репозиторий на сервере. Затем клиенты могут клонировать, отправлять/извлекать из репозитория.

Теперь создайте новый пустой тестовый репозиторий Git на сервере Git следующим образом:


Теперь клиенту нужно знать только IP-адрес сервера Git, чтобы получить доступ к Git-репозиторию testrepo.

Диспетчер сервера Git может найти эту информацию следующим образом:

Как видите, IP-адрес сервера Git — 192.168.21.185. Теперь менеджер сервера может сообщить об этом клиентам, которые будут работать над проектом.


Клонирование репозитория Git с сервера:

Как только клиент узнает IP-адрес и имя репозитория Git, он может клонировать его на свой компьютер следующим образом:


Теперь введите yes и нажмите . Вам нужно будет сделать это один раз, только в первый раз.


Репозиторий testrepo Git должен быть клонирован с сервера.

Нужно создать новый каталог testrepo.


Внесение изменений и отправка изменений на сервер Git:

Теперь клиент может добавлять коммиты в testrepo/репозиторий и отправлять изменения на сервер Git.




$ git commit -m 'начальный коммит'
[ / cc [
a href = "https://linuxhint.com/wp-content/uploads/2019/09/33-6. jpg" > img class = "aligncenter size-full wp-image-47672" src = "https://linuxhint.com/wp-content/uploads/2019/09/33-6.jpg" alt = "" width = "706" height = "171" />
a >
[ cc lang = "bash" ]
$ git push origin


Добавление нового члена команды:

Скажем, Боб хочет внести свой вклад в Git-репозиторий testrepo.

Все, что ему нужно сделать, это сгенерировать пару ключей SSH и отправить открытый ключ менеджеру сервера Git.


После того как менеджер сервера Git получит открытый ключ bob, он сможет загрузить его на сервер Git и добавить в файл .ssh/authorized_keys следующим образом:


Теперь Боб может клонировать Git-репозиторий testrepo с сервера следующим образом:


тестрепо следует клонировать.

На компьютере Боба должен быть создан новый каталог testrepo.


Теперь Боб может перейти к репозиторию Git следующим образом:


Он должен найти несколько существующих коммитов.


Теперь Боб может выполнить свою работу и зафиксировать ее. Затем отправьте изменения на сервер.




Теперь другие люди, работающие над тем же репозиторием, могут получать изменения следующим образом:


Он должен найти коммиты, сделанные Бобом.


Итак, вот как настроить сервер Git с SSH в Ubuntu и использовать его. Спасибо, что прочитали эту статью.

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

IDP могут предоставить продуктивную и безопасную среду для групп разработчиков. Рассмотрите все за и против, чтобы увидеть, является ли внутренний .

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

Разрастание UX-дизайна имитирует разрастание городов как в стремлении к росту, так и в потенциально опасных подводных камнях. Вот несколько вещей .

Запах кода может стать причиной плохого кодирования в угольной шахте. А плохое кодирование — это признак того, что требуется рефакторинг. Давайте .

Чтобы успешно передать Agile-разработку на аутсорсинг, организации должны уделять первоочередное внимание общению и обеспечивать достаточную адаптацию.

Чтобы добиться высокой доступности и отказоустойчивости в AWS, ИТ-администраторы должны сначала понять различия между двумя моделями.

Amazon ECS и EKS похожи, но их различий достаточно, чтобы выделить их для пользователей AWS. Узнайте, что лучше всего подходит для вашего .

Новые дополнения к системам хранения, такие как гибкие блочные тома и высокая доступность для ZFS, делают облачную платформу Oracle более конкурентоспособной.

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

Компания Trend Micro обнаружила, что ботнет Cyclops Blink, изначально нацеленный на устройства WatchGuard, теперь распространяется на Asus.

Таинственная группа вымогателей LokiLocker привлекла внимание исследователей BlackBerry, которые говорят, что эта группа может стать .

Считаете, что готовы к сертификационному экзамену AWS Certified Solutions Architect? Проверьте свои знания, ответив на эти 12 вопросов и.

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

Amazon хотела бы укрепить свое глобальное присутствие, но гигант электронной коммерции сегодня сталкивается с препятствиями и проблемами, которых у него не было.

Читайте также: