Подумайте, что вы развертываете приложение на сервере, который поддерживается системой управления GIT. Вы клонируете репозиторий Git через свои собственные учетные данные и настроить систему. Когда вы запустите Git Pull
, он попросит полномочия снова. Это, безусловно, не то, что вы смотрите, верно? Вы хотите что-то, с помощью которого вы можете потянуть изменения без чьих-либо полномочий. Ответ — Подключение к Git через SSH
Отказ
Конечно, это не единственное случайный случай, когда вы можете использовать эту функцию. Это также может помочь вам в использовании случаев, таких как строительные трубопроводы. Теперь, когда у нас есть немного контекста, давайте понять, как это работает.
✋ Для простоты мы предполагаем, что клиентский аппарат работает на операционном сервере Linux. Это предположение только для команд, которые мы работаем на операционной системе. Шаги для настройки SSH для Git остаются той же независимо от операционной системы. Для других операционных систем вы можете использовать соответствующие команды для достижения результатов.
SSH — это протокол, с помощью которого вы можете подключиться и аутентифицироваться на удаленные серверы и услуги. SSH устанавливает защищенную связь между двумя сторонами (Client and Server), аутентифицируя каждую сторону на другую и проходящую команды и выходные данные взад и вперед. С помощью ключей SSH вы можете подключиться к хостингу Git Серверы (e.g github, bitbucket) без подачи вашего имени пользователя или пароля при каждом посещении.
Понимание рабочего процесса SSH выходит из обзора этого поста, поэтому мы будем ограничивать наши дискуссии на тему.
Когда вы настроите SSH, вы создаете ключевую пару — частные и открытые ключи. Частный ключ сохраняется на вашем локальном компьютере, как правило, в .ssh
папка. Открытый ключ передан (загружено) на сервер для аутентификации запроса.
Перед созданием новых ключей вы можете проверить, создаваете ли у вас пару ключей.
$ ls -al ~/.ssh # Lists the files in your .ssh directory, if they exist
Проверьте список каталогов, чтобы увидеть, если у вас есть открытый ключ SSH. По умолчанию имя файла открытого ключа заканчивается .паб
например id_rsa.pub
Если у вас нет существующей общедоступной и частной пары ключей или не захотите использовать существующие ключи, затем генерируйте новую клавишу SSH, выполнив следующие действия:
- Генерировать ключ, используя
SSH-Keygen.
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/guest/.ssh/id_rsa):
Настройка ключа
Вам будет предложено настроить имени файла и пароля. Вы можете просто нажмите Enter, если вы хотите сохранить значения по умолчанию. Все взаимодействие будет похоже на следующее:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/guest/.ssh/id_rsa): Created directory '/home/guest/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/guest/.ssh/id_rsa. Your public key has been saved in /home/guest/.ssh/id_rsa.pub. The key fingerprint is: 4c:80:61:2c:00:3f:9d:dc:08:41:2e:c0:cf:b9:17:69 guest@myhost.local The key's randomart image is: +--[ RSA 2048]----+ |*o+ooo. | |.+.=o+ . | |. *.* o . | | . = E o | | o . S | | . . | | . | | | | | +-----------------+
- Проверьте ключи, которые были созданы путем перечисления каталога
$ ls ~/.ssh id_rsa id_rsa.pub
Вы получите пару ключевых файлов в качестве вывода. id_rsa
является частным ключом и id_rsa.pub
это открытый ключ.
Если вы не хотите вводить свой пароль каждый раз, когда вы используете ключ, вам нужно добавить его в SSH-Agent.
# start the ssh agent $ eval `ssh-agent` Agent pid 9700 # add your private key (the filename without .pub) $ ssh-add ~/.ssh/id_rsa
После того, как вы создали вашу ключевую пару, пришло время добавить свой открытый ключ на сервер Git Hosting для аутентификации вам SSH Communication. Вы можете выполнить шаги в ссылке для добавления клавиш в Github и Bitbucket (шаг 4)
Скопируйте SSH
Git Url вашего репозитория (например, git@bitbucket.org: repo/project.git
) и изменить Удаленный URL
На вашем клиентском компьютере в вашей корневой папке проекта AS:
# listing current remote-url $ git remote -v origin https://guest@bitbucket.org/repo/project.git (fetch) origin https://guest@bitbucket.org/repo/project.git (push) # change the url $ git remote set-url origin git@bitbucket.org:repo/project.git # verify if url changed by listing again $ git remote -v origin git@bitbucket.org:repo/project.git (fetch) origin git@bitbucket.org:repo/project.git (push)
Вуаля! Вы сделали все конфигурации, теперь пришло время проверить, работают ли ключи. Вы можете проверить, выполнив Git Pull
В вашей корневой папке проекта. Это не должно просить каких-либо полномочий
Поздравляю! 👏 Вы успешно настроили SSH для вашего репозитория Git. Оставьте комментарий, если вы сталкиваетесь с любыми проблемами.
До встречи! до моего следующего поста 😋
Оригинал: «https://dev.to/idrisrampurawala/configuring-ssh-for-git-2of1»