HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>9 апр 2024</li>
2 <ul><li>9 апр 2024</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Теоретические основы с иллюстрациями и практика на GitHub.</p>
4 </ul><p>Теоретические основы с иллюстрациями и практика на GitHub.</p>
5 <p>Иллюстрация: Катя Павловская для Skillbox Media</p>
5 <p>Иллюстрация: Катя Павловская для Skillbox Media</p>
6 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
6 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
7 <p>После регистрации на GitHub вы получаете профиль с настроенным HTTPS-соединением. Это протокол для безопасной загрузки и скачивания данных из удалённого репозитория. Однако не все компании предпочитают HTTPS и по разным причинам просят своих разработчиков выбирать альтернативу - протокол SSH.</p>
7 <p>После регистрации на GitHub вы получаете профиль с настроенным HTTPS-соединением. Это протокол для безопасной загрузки и скачивания данных из удалённого репозитория. Однако не все компании предпочитают HTTPS и по разным причинам просят своих разработчиков выбирать альтернативу - протокол SSH.</p>
8 <p>В статье мы познакомимся с SSH-соединением и научимся перенастраивать под него профиль на GitHub. Перед практикой будет теоретический блок, объясняющий принципы работы технологии. Вы узнаете, как данные переходят с устройств на удалённые серверы и почему это безопасно.</p>
8 <p>В статье мы познакомимся с SSH-соединением и научимся перенастраивать под него профиль на GitHub. Перед практикой будет теоретический блок, объясняющий принципы работы технологии. Вы узнаете, как данные переходят с устройств на удалённые серверы и почему это безопасно.</p>
9 <p>Если вы только начинаете использовать<a>GIt</a>, рекомендуем перед настройкой SSH-соединения<a>почитать про GitHub</a>.</p>
9 <p>Если вы только начинаете использовать<a>GIt</a>, рекомендуем перед настройкой SSH-соединения<a>почитать про GitHub</a>.</p>
10 <p>Из статьи вы узнаете:</p>
10 <p>Из статьи вы узнаете:</p>
11 <ul><li><a>что такое протокол SSH</a>;</li>
11 <ul><li><a>что такое протокол SSH</a>;</li>
12 <li><a>как он работает</a>;</li>
12 <li><a>как он работает</a>;</li>
13 <li><a>как создать приватный и публичные ключи для SSH-шифрования</a>;</li>
13 <li><a>как создать приватный и публичные ключи для SSH-шифрования</a>;</li>
14 <li><a>как настроить SSH-соединение на GitHub</a>.</li>
14 <li><a>как настроить SSH-соединение на GitHub</a>.</li>
15 </ul><p><strong>Эксперт</strong></p>
15 </ul><p><strong>Эксперт</strong></p>
16 <p>CTO Flocktory, программный директор профессии "<a>DevOps-инженер</a>" в Skillbox, директор программного комитета<a>DevOpsConf</a>.</p>
16 <p>CTO Flocktory, программный директор профессии "<a>DevOps-инженер</a>" в Skillbox, директор программного комитета<a>DevOpsConf</a>.</p>
17 <p>До внедрения SSH для удалённого подключения был популярен<a>протокол Telnet</a>, известный как Teletype Network. Он позволял запускать терминальные команды, передавать файлы, обновлять данные - то есть решал множество задач системного администрирования. Однако Telnet был уязвим к атакам, поскольку открыто передавал данные и не защищал трафик от перехвата. Причина: протокол появился в 1969 году, когда инженеры разворачивали интернет. Тогда масштабирование было приоритетнее безопасности.</p>
17 <p>До внедрения SSH для удалённого подключения был популярен<a>протокол Telnet</a>, известный как Teletype Network. Он позволял запускать терминальные команды, передавать файлы, обновлять данные - то есть решал множество задач системного администрирования. Однако Telnet был уязвим к атакам, поскольку открыто передавал данные и не защищал трафик от перехвата. Причина: протокол появился в 1969 году, когда инженеры разворачивали интернет. Тогда масштабирование было приоритетнее безопасности.</p>
18 <p>Покажем уязвимость открытой передачи данных на примерах. Пользователь отправляет незашифрованный файл через Telnet. Если злоумышленник отслеживает сетевые узлы, то сможет получить доступ к содержимому файла.</p>
18 <p>Покажем уязвимость открытой передачи данных на примерах. Пользователь отправляет незашифрованный файл через Telnet. Если злоумышленник отслеживает сетевые узлы, то сможет получить доступ к содержимому файла.</p>
19 <p>Пользователь может зашифровать файл перед отправкой через Telnet. Однако если отправитель и получатель не встретятся лично, то дешифровочный ключ придётся высылать по сети. Так злоумышленник получит файл и ключ к нему.</p>
19 <p>Пользователь может зашифровать файл перед отправкой через Telnet. Однако если отправитель и получатель не встретятся лично, то дешифровочный ключ придётся высылать по сети. Так злоумышленник получит файл и ключ к нему.</p>
20 Схема открытой передачи данных по протоколу Telnet<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>На смену Telnet пришёл SSH. SSH (Secure Shell - защищённая оболочка) - это протокол прикладного уровня для удалённого обмена данными между устройствами. Он основан на взаимодействии приватного и публичного ключей, которые защищают трафик алгоритмом асимметричного шифрования.</p>
20 Схема открытой передачи данных по протоколу Telnet<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>На смену Telnet пришёл SSH. SSH (Secure Shell - защищённая оболочка) - это протокол прикладного уровня для удалённого обмена данными между устройствами. Он основан на взаимодействии приватного и публичного ключей, которые защищают трафик алгоритмом асимметричного шифрования.</p>
21 <p>Представьте, что первому пользователю нужно получить файл от второго пользователя. Он берёт ключ и открытый замок, а затем действует так: ключ оставляет себе, а открытый замок передаёт по сети. Замок доходит до адресата и достаётся злоумышленнику. Файл с данными пока не передан.</p>
21 <p>Представьте, что первому пользователю нужно получить файл от второго пользователя. Он берёт ключ и открытый замок, а затем действует так: ключ оставляет себе, а открытый замок передаёт по сети. Замок доходит до адресата и достаётся злоумышленнику. Файл с данными пока не передан.</p>
22 Схема защищённой передачи данных по протоколу SSH. Часть 1<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>Второй пользователь закрывает файл на замок и высылает его обратно. Закрытый замок попадает к первому пользователю и к злоумышленнику. Первый пользователь открывает замок своим ключом и достаёт файл. У злоумышленника есть открытый и закрытый замок, но без ключа он не сможет извлечь файл. Так стороны могут безопасно обмениваться данными.</p>
22 Схема защищённой передачи данных по протоколу SSH. Часть 1<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>Второй пользователь закрывает файл на замок и высылает его обратно. Закрытый замок попадает к первому пользователю и к злоумышленнику. Первый пользователь открывает замок своим ключом и достаёт файл. У злоумышленника есть открытый и закрытый замок, но без ключа он не сможет извлечь файл. Так стороны могут безопасно обмениваться данными.</p>
23 Схема защищённой передачи данных по протоколу SSH. Часть 2<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>В концепции SSH открытый замок представляет публичный ключ, или public key. Ключ от замка - приватный ключ, или private key. С помощью публичного ключа мы шифруем данные, а с помощью приватного - расшифровываем. Без приватного ключа даже владелец данных не получит к ним доступа. Приватный ключ важно беречь.</p>
23 Схема защищённой передачи данных по протоколу SSH. Часть 2<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>В концепции SSH открытый замок представляет публичный ключ, или public key. Ключ от замка - приватный ключ, или private key. С помощью публичного ключа мы шифруем данные, а с помощью приватного - расшифровываем. Без приватного ключа даже владелец данных не получит к ним доступа. Приватный ключ важно беречь.</p>
24 Реализация SSH-протокола в контексте клиент-серверного взаимодействия<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>Если не упрощать объяснение, то реализация SSH-протокола происходит в несколько этапов. Это механизм, включающий в себя установку защищённого соединения, аутентификацию и обмен данными между клиентом и сервером.</p>
24 Реализация SSH-протокола в контексте клиент-серверного взаимодействия<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>Если не упрощать объяснение, то реализация SSH-протокола происходит в несколько этапов. Это механизм, включающий в себя установку защищённого соединения, аутентификацию и обмен данными между клиентом и сервером.</p>
25 <ul><li>Клиент отправляет серверу ID своего публичного ключа. Таким образом он заявляет, что обладает соответствующим приватным ключом.</li>
25 <ul><li>Клиент отправляет серверу ID своего публичного ключа. Таким образом он заявляет, что обладает соответствующим приватным ключом.</li>
26 <li>Сервер шифрует публичным ключом случайное сообщение и отправляет клиенту. Клиент должен это сообщение расшифровать и отправить в ответ.</li>
26 <li>Сервер шифрует публичным ключом случайное сообщение и отправляет клиенту. Клиент должен это сообщение расшифровать и отправить в ответ.</li>
27 <li>Для проверки аутентификации клиент должен расшифровать сообщение и передать его в зашифрованном виде обратно на сервер. Так он докажет, что действительно обладает приватным ключом. Иначе запрос будет отклонён.</li>
27 <li>Для проверки аутентификации клиент должен расшифровать сообщение и передать его в зашифрованном виде обратно на сервер. Так он докажет, что действительно обладает приватным ключом. Иначе запрос будет отклонён.</li>
28 <li>Клиент и сервер договариваются об общем секретном ключе. Безопасное согласование такого ключа обеспечивает<a>криптопротокол Диффи - Хеллмана</a>.</li>
28 <li>Клиент и сервер договариваются об общем секретном ключе. Безопасное согласование такого ключа обеспечивает<a>криптопротокол Диффи - Хеллмана</a>.</li>
29 <li>Стороны выбирают метод шифрования трафика. Сейчас часто используют<a>AES-256, AES-192 и AES-128</a> - выбор зависит от согласия сторон и настроек безопасности сервера. Однако алгоритмы безопасности периодически обновляются, поэтому важно ориентироваться на современный стандарт.</li>
29 <li>Стороны выбирают метод шифрования трафика. Сейчас часто используют<a>AES-256, AES-192 и AES-128</a> - выбор зависит от согласия сторон и настроек безопасности сервера. Однако алгоритмы безопасности периодически обновляются, поэтому важно ориентироваться на современный стандарт.</li>
30 </ul><p>После успешного прохождения аутентификации клиент и сервер могут безопасно обмениваться данными по зашифрованному каналу.</p>
30 </ul><p>После успешного прохождения аутентификации клиент и сервер могут безопасно обмениваться данными по зашифрованному каналу.</p>
31 Реализация SSH-протокола в контексте клиент-серверного взаимодействия: экспертная версия<em>Изображение: Майя Мальгина для Skillbox Media</em><p>По умолчанию SSH использует алгоритм<a>RSA</a>. Это математическая модель для реализации шифрования данных с помощью одного ключа и их расшифровки с помощью другого. Преобразование строится по принципу работы обратной функции: функция зашифровывает данные, а обратная функция их расшифровывает.</p>
31 Реализация SSH-протокола в контексте клиент-серверного взаимодействия: экспертная версия<em>Изображение: Майя Мальгина для Skillbox Media</em><p>По умолчанию SSH использует алгоритм<a>RSA</a>. Это математическая модель для реализации шифрования данных с помощью одного ключа и их расшифровки с помощью другого. Преобразование строится по принципу работы обратной функции: функция зашифровывает данные, а обратная функция их расшифровывает.</p>
32 <p>Для лучшего понимания работы обратной функции рассмотрим пример с <a>комплементарным подбором цветов на круге Иттена</a>. В цветовом круге у каждого цвета есть дополнительный цвет. Дополнительный цвет находится на противоположной стороне круга и отделён от основного цвета белой зоной. Примеры: красный и зелёный, жёлтый и фиолетовый, оранжевый и голубой.</p>
32 <p>Для лучшего понимания работы обратной функции рассмотрим пример с <a>комплементарным подбором цветов на круге Иттена</a>. В цветовом круге у каждого цвета есть дополнительный цвет. Дополнительный цвет находится на противоположной стороне круга и отделён от основного цвета белой зоной. Примеры: красный и зелёный, жёлтый и фиолетовый, оранжевый и голубой.</p>
33 Схема комплементарного подбора цветов на круге Иттена<em>Иллюстрация: Skillbox Media</em><p>Пользователи решили обменяться цветами. Первый участник выбирает цвет, определяет его дополнительный цвет и механизм смешивания цветов. Дополнительный цвет попадает к адресату и злоумышленнику. Об основном цвете злоумышленник не знает.</p>
33 Схема комплементарного подбора цветов на круге Иттена<em>Иллюстрация: Skillbox Media</em><p>Пользователи решили обменяться цветами. Первый участник выбирает цвет, определяет его дополнительный цвет и механизм смешивания цветов. Дополнительный цвет попадает к адресату и злоумышленнику. Об основном цвете злоумышленник не знает.</p>
34 Схема работы алгоритма шифрования SSH на примере цвета и обратного цвета. Часть 1<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>Второй пользователь смешивает дополнительный цвет со своим - тем, что он хотел выслать в ответ. Получается новый цвет - результирующий. Результирующий цвет доходит до адресата и достаётся злоумышленнику.</p>
34 Схема работы алгоритма шифрования SSH на примере цвета и обратного цвета. Часть 1<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>Второй пользователь смешивает дополнительный цвет со своим - тем, что он хотел выслать в ответ. Получается новый цвет - результирующий. Результирующий цвет доходит до адресата и достаётся злоумышленнику.</p>
35 Схема работы алгоритма шифрования SSH на примере цвета и обратного цвета. Часть 2<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>Первый пользователь смешивает результирующий цвет со своим исходным. Получается цвет, который передал второй пользователь. У злоумышленника есть дополнительный цвет от первого пользователя и результирующий от второго. Если он смешает свои цвета, то не узнает загаданный цвет.</p>
35 Схема работы алгоритма шифрования SSH на примере цвета и обратного цвета. Часть 2<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>Первый пользователь смешивает результирующий цвет со своим исходным. Получается цвет, который передал второй пользователь. У злоумышленника есть дополнительный цвет от первого пользователя и результирующий от второго. Если он смешает свои цвета, то не узнает загаданный цвет.</p>
36 Схема работы алгоритма шифрования SSH на примере цвета и обратного цвета: часть 3<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>В алгоритмах шифрования происходят похожие процессы, но вместо цветов используются данные. Приватный ключ не хранится на сервере, а публичный ключ можно пересылать по сети. Если злоумышленник перехватит публичный ключ, то не сможет им воспользоваться. Остаётся как-то случайно подобрать приватный SSH-ключ. Однако это маловероятно, поскольку речь о длинной цепочке произвольно сгенерированных цифр и букв. Примеры будут далее.</p>
36 Схема работы алгоритма шифрования SSH на примере цвета и обратного цвета: часть 3<em>Иллюстрация: Оля Ежак для Skillbox Media</em><p>В алгоритмах шифрования происходят похожие процессы, но вместо цветов используются данные. Приватный ключ не хранится на сервере, а публичный ключ можно пересылать по сети. Если злоумышленник перехватит публичный ключ, то не сможет им воспользоваться. Остаётся как-то случайно подобрать приватный SSH-ключ. Однако это маловероятно, поскольку речь о длинной цепочке произвольно сгенерированных цифр и букв. Примеры будут далее.</p>
37 <p>Помимо<a>RSA</a>, встречаются и другие алгоритмы для создания цифровых ключей:</p>
37 <p>Помимо<a>RSA</a>, встречаются и другие алгоритмы для создания цифровых ключей:</p>
38 <p><a>Ed25519</a>,<a>DSA</a>,<a>EdDSA</a>и другие. В 2024 году чаще всего используют RSA и Ed25519.</p>
38 <p><a>Ed25519</a>,<a>DSA</a>,<a>EdDSA</a>и другие. В 2024 году чаще всего используют RSA и Ed25519.</p>
39 <p>Поговорим об их разнице. RSA работает на любой системе, но расходует больше памяти и процессорного времени на создание и верификацию ключей. Ed25519 более эффективный и менее ресурсоёмкий, однако работает не на всех системах.</p>
39 <p>Поговорим об их разнице. RSA работает на любой системе, но расходует больше памяти и процессорного времени на создание и верификацию ключей. Ed25519 более эффективный и менее ресурсоёмкий, однако работает не на всех системах.</p>
40 <p>Большинство пользователей не заметят разницы между алгоритмами RSA и Ed25519. Поэтому рекомендую использовать RSA на 3072 или 4096 бит.</p>
40 <p>Большинство пользователей не заметят разницы между алгоритмами RSA и Ed25519. Поэтому рекомендую использовать RSA на 3072 или 4096 бит.</p>
41 <p>Если у вас операционная система Linux или macOS, перейдите в терминал. Если у вас Windows 10 и более новая версия -<a>настройте программу OpenSSH</a>. Для старых версий Windows попробуйте<a>PuTTY Generator</a>или<a>похожие утилиты</a>.</p>
41 <p>Если у вас операционная система Linux или macOS, перейдите в терминал. Если у вас Windows 10 и более новая версия -<a>настройте программу OpenSSH</a>. Для старых версий Windows попробуйте<a>PuTTY Generator</a>или<a>похожие утилиты</a>.</p>
42 <p>В выбранной программе введите команду ssh-keygen. Система создаст пару ключей и уточнит место для их сохранения - по умолчанию будет предложена домашняя директория. Ключи добавятся в папку .ssh и получат имя id_rsa.</p>
42 <p>В выбранной программе введите команду ssh-keygen. Система создаст пару ключей и уточнит место для их сохранения - по умолчанию будет предложена домашняя директория. Ключи добавятся в папку .ssh и получат имя id_rsa.</p>
43 <p>Вы можете изменить имя ключа и место его сохранения. Для этого необходимо перезаписать путь, который предлагает система. Было:<strong>/Users/macbook/.ssh/id_rsa</strong>. Меняем имя ключа:<strong>/Users/macbook/.ssh/myKey</strong>. После перезаписи существующий приватный ключ будет удалён и заменён на ключ с новым именем. Вместе с ним вы потеряете доступ к серверам, на которых он был задействован. Поэтому такую перезапись уместно делать только тогда, когда вы удаляете неиспользуемый ключ.</p>
43 <p>Вы можете изменить имя ключа и место его сохранения. Для этого необходимо перезаписать путь, который предлагает система. Было:<strong>/Users/macbook/.ssh/id_rsa</strong>. Меняем имя ключа:<strong>/Users/macbook/.ssh/myKey</strong>. После перезаписи существующий приватный ключ будет удалён и заменён на ключ с новым именем. Вместе с ним вы потеряете доступ к серверам, на которых он был задействован. Поэтому такую перезапись уместно делать только тогда, когда вы удаляете неиспользуемый ключ.</p>
44 <p>Для защиты существующего ключа от перезаписи можно использовать флаг<strong>-f</strong>при вызове команды<strong>ssh-keygen</strong>. Выглядеть это будет так:<strong>ssh-keygen -f $HOME/.ssh/skillbox_private</strong>. В этом случае система запросит пароль для защиты приватного ключа и сохранит его в зашифрованном виде. В папке .ssh появятся ключи skillbox_private и skillbox_private.pub, а система сообщит о завершении операции.После вы сможете использовать новые ключи для доступа к серверам.</p>
44 <p>Для защиты существующего ключа от перезаписи можно использовать флаг<strong>-f</strong>при вызове команды<strong>ssh-keygen</strong>. Выглядеть это будет так:<strong>ssh-keygen -f $HOME/.ssh/skillbox_private</strong>. В этом случае система запросит пароль для защиты приватного ключа и сохранит его в зашифрованном виде. В папке .ssh появятся ключи skillbox_private и skillbox_private.pub, а система сообщит о завершении операции.После вы сможете использовать новые ключи для доступа к серверам.</p>
45 <p>Следующий шаг -<a>парольная фраза</a>, дополнительная мера безопасности. Её создавать не обязательно - для пропуска нажмите<strong>Еnter</strong>. Всё: ключи готовы, в терминале должна появиться графика с названием технологии шифрования.</p>
45 <p>Следующий шаг -<a>парольная фраза</a>, дополнительная мера безопасности. Её создавать не обязательно - для пропуска нажмите<strong>Еnter</strong>. Всё: ключи готовы, в терминале должна появиться графика с названием технологии шифрования.</p>
46 Генерируем ключи, пропускаем парольную фразу и выбираем предложенную директорию<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>Посмотрим содержимое папки .ssh. Для этого выполним несколько команд:</p>
46 Генерируем ключи, пропускаем парольную фразу и выбираем предложенную директорию<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>Посмотрим содержимое папки .ssh. Для этого выполним несколько команд:</p>
47 <ul><li>cd .ssh - переходим в папки .ssh;</li>
47 <ul><li>cd .ssh - переходим в папки .ssh;</li>
48 <li>ls -a - выводим список содержимого, включая скрытые файлы;</li>
48 <li>ls -a - выводим список содержимого, включая скрытые файлы;</li>
49 <li>cat id_rsa - смотрим на содержимое приватного ключа.</li>
49 <li>cat id_rsa - смотрим на содержимое приватного ключа.</li>
50 </ul><p>⚠️ Внимание: ниже на скриншоте приватный ключ показан для примера. Он нигде не используется и уже удалён. Никому не показывайте этот ключ - от него зависит безопасность вашей информации.</p>
50 </ul><p>⚠️ Внимание: ниже на скриншоте приватный ключ показан для примера. Он нигде не используется и уже удалён. Никому не показывайте этот ключ - от него зависит безопасность вашей информации.</p>
51 Фрагмент приватного SSH-ключа: набор не связанных друг с другом символов, которые сложно подобрать<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>С помощью команды cat id_rsa.pub можно посмотреть публичный ключ - такой же набор не связанных символов, только меньше. Этот ключ можно передавать.</p>
51 Фрагмент приватного SSH-ключа: набор не связанных друг с другом символов, которые сложно подобрать<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>С помощью команды cat id_rsa.pub можно посмотреть публичный ключ - такой же набор не связанных символов, только меньше. Этот ключ можно передавать.</p>
52 Пример публичного SSH-ключа<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>Мы рассмотрели базовый сценарий создания SSH-ключей. Однако иногда нужно конкретизировать технологию шифрования и изменить размер ключа. Вот команда: ssh-keygen -t {технология шифрования} -b {размер ключа в битах}.</p>
52 Пример публичного SSH-ключа<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>Мы рассмотрели базовый сценарий создания SSH-ключей. Однако иногда нужно конкретизировать технологию шифрования и изменить размер ключа. Вот команда: ssh-keygen -t {технология шифрования} -b {размер ключа в битах}.</p>
53 <p>После флажка -t мы пишем нужную технологию, а после -b - новый размер ключа. Дальше действуем по базовому сценарию: выбираем директорию для сохранения ключей и добавляем парольную фразу, если она вам необходима.</p>
53 <p>После флажка -t мы пишем нужную технологию, а после -b - новый размер ключа. Дальше действуем по базовому сценарию: выбираем директорию для сохранения ключей и добавляем парольную фразу, если она вам необходима.</p>
54 Пример конкретизированного SSH-ключа: меняем технологию шифрования rsa на <a>ed25519</a>и увеличиваем размер ключа с 3072 до 4096 бит<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>В папке .ssh можно хранить разные SSH-ключи.</p>
54 Пример конкретизированного SSH-ключа: меняем технологию шифрования rsa на <a>ed25519</a>и увеличиваем размер ключа с 3072 до 4096 бит<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>В папке .ssh можно хранить разные SSH-ключи.</p>
55 Пример SSH-ключей, сгенерированных по конкретизированному запросу<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>Вводим в терминал команду ssh git@github.com. Если это ваше первое подключение к GitHub, то терминал предложит добавить сайт в список доверительных хостов. После вы увидите сообщение о наличии или отсутствии доступных SSH-ключей. Пока публичные ключи нам недоступны.</p>
55 Пример SSH-ключей, сгенерированных по конкретизированному запросу<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>Вводим в терминал команду ssh git@github.com. Если это ваше первое подключение к GitHub, то терминал предложит добавить сайт в список доверительных хостов. После вы увидите сообщение о наличии или отсутствии доступных SSH-ключей. Пока публичные ключи нам недоступны.</p>
56 Добавляем<a>github.com</a>в список доверенных хостов и убеждаемся в отсутствии публичных ключей<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>Переходим на <a>github.com</a>и выполняем следующие шаги:</p>
56 Добавляем<a>github.com</a>в список доверенных хостов и убеждаемся в отсутствии публичных ключей<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>Переходим на <a>github.com</a>и выполняем следующие шаги:</p>
57 <ul><li><a>создаём учётную запись</a>, если её нет;</li>
57 <ul><li><a>создаём учётную запись</a>, если её нет;</li>
58 <li>в настройках профиля выбираем подраздел "SSH and GPG keys";</li>
58 <li>в настройках профиля выбираем подраздел "SSH and GPG keys";</li>
59 <li>кликаем на кнопку "New SSH key" и вставляем в поле публичный ключ;</li>
59 <li>кликаем на кнопку "New SSH key" и вставляем в поле публичный ключ;</li>
60 <li>добавляем к публичному ключу краткое произвольное описание;</li>
60 <li>добавляем к публичному ключу краткое произвольное описание;</li>
61 <li>кликаем на "Add SSH key" и вводим пароль от учётной записи, если нужно.</li>
61 <li>кликаем на "Add SSH key" и вводим пароль от учётной записи, если нужно.</li>
62 </ul><p>Публичные ключи можно не описывать. Это удобно, если у вас несколько ключей для разных проектов. По описанию проще находить нужный ключ.</p>
62 </ul><p>Публичные ключи можно не описывать. Это удобно, если у вас несколько ключей для разных проектов. По описанию проще находить нужный ключ.</p>
63 Добавляем публичный SSH-ключ и называем его myKey<em>Скриншот: GitHub / Skillbox Media</em><p>Снова введём в терминале команду ssh git@github.com. Если публичный ключ добавлен, то GitHub распознает и поприветствует нас по имени в профиле.</p>
63 Добавляем публичный SSH-ключ и называем его myKey<em>Скриншот: GitHub / Skillbox Media</em><p>Снова введём в терминале команду ssh git@github.com. Если публичный ключ добавлен, то GitHub распознает и поприветствует нас по имени в профиле.</p>
64 Аутентификация пройдена, GitHub видит наш профиль<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>После добавления публичного ключа вы можете связываться с удалёнными репозиториями по протоколу SSH вместо HTTPS. Больше не нужно постоянно вводить логин и пароль, что упрощает и ускоряет работу с GitHub.</p>
64 Аутентификация пройдена, GitHub видит наш профиль<em>Скриншот:<a>iTerm2</a>/ Skillbox Media</em><p>После добавления публичного ключа вы можете связываться с удалёнными репозиториями по протоколу SSH вместо HTTPS. Больше не нужно постоянно вводить логин и пароль, что упрощает и ускоряет работу с GitHub.</p>
65 Аутентификация пройдена, GitHub видит наш профиль<em>Скриншот: GitHub / Skillbox Media</em><p>Если в процессе настройки у вас возникнут вопросы, сложности или вам просто захочется больше узнать о SSH больше -<a>посмотрите документацию на GitHub</a>.</p>
65 Аутентификация пройдена, GitHub видит наш профиль<em>Скриншот: GitHub / Skillbox Media</em><p>Если в процессе настройки у вас возникнут вопросы, сложности или вам просто захочется больше узнать о SSH больше -<a>посмотрите документацию на GitHub</a>.</p>
66 <p>GitHub и некоторые другие сервисы не работают по паролю. Однако для удалённого подключения к серверу пароль нужен, но его можно заменить SSH.</p>
66 <p>GitHub и некоторые другие сервисы не работают по паролю. Однако для удалённого подключения к серверу пароль нужен, но его можно заменить SSH.</p>
67 <p>Для настройки SSH-соединения выполните первое подключение к серверу - введите логин и пароль. Введите команду ssh-copy-id user@host и повторите пароль:</p>
67 <p>Для настройки SSH-соединения выполните первое подключение к серверу - введите логин и пароль. Введите команду ssh-copy-id user@host и повторите пароль:</p>
68 <ul><li>ssh - запрос на установку защищённого соединения;</li>
68 <ul><li>ssh - запрос на установку защищённого соединения;</li>
69 <li>user - вводим выданный логин;</li>
69 <li>user - вводим выданный логин;</li>
70 <li>host - адрес удалённого сервера. Здесь может быть как IP-адрес, так и хост с определённым доменным именем.</li>
70 <li>host - адрес удалённого сервера. Здесь может быть как IP-адрес, так и хост с определённым доменным именем.</li>
71 </ul><p>SSH-соединение установлено, и можно входить на указанный сервер без пароля.</p>
71 </ul><p>SSH-соединение установлено, и можно входить на указанный сервер без пароля.</p>
72 - <a>Курс: "Профессия Специалист по кибербезопас­но­сти + ИИ" Узнать больше</a>
72 + <a><b>Бесплатный курс по кибербезопасности</b>Пройдите курс и узнайте реальные техники взлома и защиты веб-серверов. Решите 3 практические задачи и получите ценные подарки. Пройти курс </a>