Використовуємо різні SSH-ключі для різних Github-акаунтів

Все блоги / DLE движок для сайтов 21 июня 2021 162   
Використовуємо різні SSH-ключі для різних Github-акаунтів
А ви намагались використовувати авторизацію за SSH-ключами на Гітхабі у більш ніж одному акаунті? Мені це було потрібно, щоб трохи простіше було публікувати пости у цьому блозі.

Проблема:

Є ситуація – мені потрібно постити у два блоги, що працюють на Гестбі, і вони обидва хостяться на Github.io. Мені було зручніше використовувати авторизацію по приватних ключах при відправці коду у репозиторії.

З якою проблемою я зіткнувся? Два різні Гітхаб-акаунти не можуть мати однакові SSH-ключі з правами на запис у репозиторій.

Як це можна вирішити? Не намагатись використовувати однакові ключі. І ще потрібно буде налаштувати використання різних ключів для різних репозиторіїв за домопогою аліасів.

Яким чином це зробити? Створити SSH-конфіг, де будуть вказані різні ключі для різних доменів.

Але, Дімон, які різні домени, якщо у обох випадках це той самий Гітхаб? Добре, це не зовсім домени. Ми можемо створити аліаси на домен Гітхабу, і по ним вже конектитись, використвуючі різні ключі. Нагадаю, як створювати новий SSH-ключ:

ssh-keygen -t rsa

Воно запитає повний шлях до нового файлу ключів, там ви вкажете повний шлях типу ~/.ssh/id_rsa2. Потім вкажете пароль до цього ключа(або ні, але не робть так, як що не можете забезпечити надійне його зберігання). Шлях для файлу вам ще знадобиться для створення конфігу.

Головна частина:

Створюємо сам конфіг, за шляхом ~/.ssh/config, його вміст виглядатиме приблизно так:

Host git-secondaryHostName github.comUser gitIdentityFile ~/.ssh/id_rsa2IdentitiesOnly yes

Таких секцій Host … може бути декілька.

Там ви вже бачите знайомия шлях до альтернативного ключу: ~/.ssh/id_rsa2. А аліас git-secondary ви зможете використовувати, коли будете клонувати код з того репозиторію, де вказали цей новий ключ, де замість

git clone git@github.com:your_account_name/your_repo.git

вже напишете ось так:

git clone git@git-secondary:your_account_name/your_repo.git

І все – воно використає ключ, який прив’язано до аліасу git-secondary.

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

Запис Використовуємо різні SSH-ключі для різних Github-акаунтів спершу з'явиться на Блог Дмитра.
  • Оцените публикацию
  • 0

Похожие публикации

@
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Архив публикаций