<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Генерируем SSH ключи и подключаем GitHub]]></title><description><![CDATA[<p dir="auto">Надеюсь не надо никому рассказывать что такое ssh-ключи да? А если надо то напиши об этом коротко:</p>
<p dir="auto">Ключ ssh - необходим что бы компьютеры подключались и обменивались данными через сетевые протоколы.</p>
<p dir="auto">Сперва проверим есть ли на нашем ПК вообще ключи:</p>
<pre><code class="language-bash"># Перейдем в домашнюю директорию
cd ~
</code></pre>
<p dir="auto">Теперь для того что бы посмотреть если у нас ключи или нет, надо найти скрытую папку <code>.ssh/</code>, а делается это очень просто вот так:</p>
<pre><code class="language-bash">ls -la .ssh/
</code></pre>
<p dir="auto">Опа, у меня есть у Вас?<br />
<img src="/assets/uploads/files/05/6a/2f/1776692355062-4f365269-31ae-4db4-86f4-9e9df180a303-image.webp" alt="4f365269-31ae-4db4-86f4-9e9df180a303-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">А Вас всего скорее нету, по этому идем дальше.</p>
<h2>Генерация ssh-ключа</h2>
<p dir="auto">Для генерации публичного ключам нам который в последствии мы будем подключать к GitHub или с чем Вы там будите работать необходимо ввести следующую команду:</p>
<pre><code class="language-bash">ssh-keygen -t ed25519 - C "test@yandex.ru"
</code></pre>
<p dir="auto">Смотрите внимательно - тут я вставил тестовую почту, Вы должны вставить свою которая привязана к GitHub!</p>
<p dir="auto">Если вдруг появилось сообщение об ошибке или еще какая либо ерунда - всего скорее ваша система не поддерживает алгоритм шифрования <code>ed25519</code>, но не расстраиваемся есть запасной вариант:</p>
<pre><code class="language-bash">ssh-keygen -t rsa -b 4096 -C "tes@yandex."
</code></pre>
<p dir="auto">Теперь либо при первом либо при втором варианте Вы должны увидеть следующее сообщение:</p>
<pre><code class="language-bash">    &gt; Generating public/private rsa key pair.
</code></pre>
<p dir="auto">Отлично, теперь просто нажимаем <code>Enter</code>, всего скорее у Вас будет сообщение:</p>
<pre><code class="language-bash">Enter a file in which to save the key
</code></pre>
<p dir="auto">Он будет просить ввести имя файла где будет сохранен ключ, не надо ничего придумывать нажимаем <code>Enter</code></p>
<p dir="auto">Все теперь в директории <code>.ssh/</code> появятся ключи, но на этом не все!</p>
<blockquote>
<p dir="auto"><strong>Внимание</strong>, теперь всего скорее генератор попросит ввести пароль/фразу - ЭТОТ ПАРОЛЬ НУЖНО ВВОДИТЬ КАЖДЫЙ РАЗ ПРИ СОЕДИНЕНИЯ ЧЕРЕЗ ПРОТОКОЛ. Поэтому запишите его!</p>
</blockquote>
<p dir="auto">Ну а если Вы уверены в себе как и я просто нажмите <code>Enter</code> что бы не вводить не каких паролей.</p>
<p dir="auto">Мы все сгенерировали, но нам надо еще запустить агента который будет искать эти ключи на нашем ПК.</p>
<blockquote>
<p dir="auto"><strong>Для чего</strong> - что бы каждый раз не вводить пароль  при работе с репозиторием.</p>
</blockquote>
<p dir="auto">Делаем следующим образом:</p>
<pre><code class="language-bash">eval ${ssh-agent -s}
</code></pre>
<p dir="auto">Теперь необходимо привязать этот ключ к нашему агенту, делаем так:</p>
<pre><code class="language-bash"># для шифрования ed25519:
ssh-add ~/.ssh/id_ed25519

# для шифрования rsa:
ssh-add ~/.ssh/id_rsa
</code></pre>
<p dir="auto">Все теперь можно спокойно работать с ключами. Смотрите если Вы такие же уверенные в себе пацаны и девчата как я - не создаете пароль то и агент Вам в принципе не нужен, последние два шага можно пропустить. (Которые выше! Не ниже!)</p>
<h2>Привязка SSH-ключей к GitHub</h2>
<p dir="auto">Все ключи у нас есть, но теперь что бы корректно работать с гитом нам надо это все дело прявазать друг к другу.</p>
<p dir="auto">Если у тебя mac:</p>
<pre><code class="language-bash"># для шифрования ed25519:
pbcopy &lt; ~/.ssh/id_ed25519.pub
# для шифрования rsa:
pbcopy &lt; ~/.ssh/id_rsa.pub
</code></pre>
<p dir="auto">Если у тебя windows:</p>
<pre><code class="language-bash"># для шифрования ed25519:
clip &lt; ~/.ssh/id_ed25519.pub
# для шифрования rsa:
clip &lt; ~/.ssh/id_rsa.pub
</code></pre>
<p dir="auto">Если по каким-то причинам ключ не скопировался в буфер обмена, то идем в нашу скрытую папку <code>.ssh/</code> и открываем файл:</p>
<ul>
<li><code>id_ed25519.pub</code></li>
<li><code>id_rsa.pub</code></li>
</ul>
<p dir="auto">В зависимости от шифрования - не путайте!</p>
<blockquote>
<p dir="auto">Если не знаете как посмотреть файл - пишем вот так:<br />
<code>cat ~/.ssh/id_ed25519.pub</code> В путях то вы понимаете надеюсь?</p>
</blockquote>
<p dir="auto">Едем дальше, теперь после того как скопировали ключ - идем в GitHub</p>
<p dir="auto">Тыкаем на свой профиль и в выпадающем меню нажимаем Setting<br />
<img src="/assets/uploads/files/2e/e8/e3/1776693643920-5a3fe0a9-9418-48d2-8af3-af8784167656-image.webp" alt="5a3fe0a9-9418-48d2-8af3-af8784167656-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">После этого слева ищем SSH adn GPG keys, нажимам и переходим дальше:</p>
<p dir="auto"><img src="/assets/uploads/files/85/c0/21/1776693714068-1ec2980b-dbed-41c6-b893-a2189745893f-image.webp" alt="1ec2980b-dbed-41c6-b893-a2189745893f-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">Теперь у Вас должно открыться окно с ключами (у меня их много) а у вас всего скорее будет пусто, ищем кнопку и нажимаем <strong>New SSH key</strong></p>
<p dir="auto"><img src="/assets/uploads/files/b2/e6/b7/1776693824044-698f6493-af89-4f3c-a62b-4b990e9634c1-image.webp" alt="698f6493-af89-4f3c-a62b-4b990e9634c1-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">В новой страничке GitHub запросит у нас название ключа - его можете обозвать как хотите, а вот ниже где написано <code>key</code> туда мы уже вставляем наш ключ который мы скопировали из терминала и нажимаем кнопку <strong>Add SSH key</strong></p>
<p dir="auto"><img src="/assets/uploads/files/7b/a3/ec/1776693900893-5666e355-c270-46d9-b138-3442e5bb6e30-image.webp" alt="5666e355-c270-46d9-b138-3442e5bb6e30-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">Ура! Теперь наш GitHub знает о нашем локальном ПК и можно пользоваться такими замечательными командами как <code>git pull</code>, <code>git push</code> и так далее!</p>
<p dir="auto">На этом на сегодня все, успехов Вам джунщики и вкатуны в ИТ <img src="https://forum.exlends.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f601.png?v=a9b928d4b2f" class="not-responsive emoji emoji-android emoji--grin" style="height:23px;width:auto;vertical-align:middle" title=":grin:" alt="😁" /></p>
<p dir="auto">Ну и подпишитесь если не жалко:</p>
<p dir="auto"></p><div class="card col-md-9 col-lg-6 position-relative link-preview p-0">



<a href="https://max.ru/id503118837522_biz" title="Кирилл Дворянинов">
<img src="https://i.oneme.ru/i?r=BTFjO43w8Yr1OSJ4tcurq5HihHmiFx6fNMGGGHawwV2-kvy4ePJqkr65xxKnGpLOYvo" class="card-img-top not-responsive" style="max-height:15rem" alt="Link Preview Image" />
</a>



<div class="card-body">
<h5 class="card-title">
<a class="text-decoration-none" href="https://max.ru/id503118837522_biz">
Кирилл Дворянинов
</a>
</h5>
<p class="card-text line-clamp-3">Обо всем и не о чем сразу!
IT форум - forum.exlends.com</p>
</div>
<a href="https://max.ru/id503118837522_biz" class="card-footer text-body-secondary small d-flex gap-2 align-items-center lh-2">



<img src="https://max.ru/favicon.ico" alt="favicon" class="not-responsive overflow-hiddden" style="max-width:21px;max-height:21px" />





<p class="d-inline-block text-truncate mb-0">MAX <span class="text-secondary">(max.ru)</span></p>
</a>
</div><p></p>
]]></description><link>https://forum.exlends.com/topic/2074/generiruem-ssh-klyuchi-i-podklyuchaem-github</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Apr 2026 19:48:01 GMT</lastBuildDate><atom:link href="https://forum.exlends.com/topic/2074.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Apr 2026 14:08:15 GMT</pubDate><ttl>60</ttl></channel></rss>