Освоение управления ключами SSH на macOS: Исчерпывающее руководство
16:35, 18.12.2023
SSH или Secure Shell - это специальный защищенный протокол, который помогает администраторам безопасно подключаться к удаленным устройствам. Протокол функционирует благодаря определенным утилитам и криптографическому сетевому протоколу. Для шифрования удаленного соединения в системе используются SSH-ключи, состоящие из пар закрытых и открытых ключей. Таким образом, создается аутентификация между удаленным устройством и пользователем.
Ключи SSH очень полезны во многих ситуациях, когда необходимо использовать защищенную сеть. Помимо обеспечения безопасных удаленных соединений, SSH также обеспечивает надежное шифрование данных при передаче файлов и даже при управлении компонентами инфраструктуры.
Если говорить о функционировании этого процесса, то существует 3 важных уровня, через которые проходит каждое SSH-соединение:
- Транспортный. Этот уровень обеспечивает безопасное соединение между SSH-сервером и клиентом.
- Аутентификация. Функционирует за счет передачи пользователю определенного метода аутентификации.
- Соединение. После успешной аутентификации этот уровень управляет соединением между сервером и клиентом.
Чтобы установить хорошее соединение с сервером SSH, сначала клиент должен послать серверу запрос инициации. Шифрование начинается сразу же после получения сервером этого запроса. После этого пользователь получает от сервера открытый ключ, который применяется для проверки подлинности сервера. Последним шагом перед фактическим входом на сервер является согласование параметров и создание защищенного канала.
Теперь перейдем к более практическим рекомендациям по созданию ключей, настройке разрешений и т.д.
Создание ключей SSH на macOS
В системе Mac по умолчанию SSH отключен, поэтому рассмотрим весь процесс. Начните с открытия Терминала. Его можно найти в утилитах, и, найдя его, включите SSH следующей командой:
sudo systemsetup -setremotelogin on
После ввода этой строки необходимо ввести пароль. Как видите, процесс действительно прост и не требует большого количества шагов. В MacOS этот протокол называется Remote login.
После включения протокола можно перейти к созданию SSH-ключей. Введите следующую команду:
ssh-keygen
Затем необходимо указать создаваемый ключ. Возможное значение типа ключа может быть dsa, rsa1 или rsa. Наиболее распространенным является rsa, поэтому создадим его:
ssh-keygen -t rsa
После этого будет задан вопрос о том, где вы хотите его сохранить, и, нажав клавишу Enter, вы выбираете место по умолчанию. Следующим шагом будет генерация пароля. Таким образом, ключ сохраняется в выбранном месте.
Обнаружение скрытого каталога .ssh
Сохранив ключ в определенной папке, вы можете захотеть получить доступ к этому каталогу. Точка перед SSH указывает на то, что он скрыт. Существует два варианта снятия маскировки. Первый возможен через терминал. Введите следующую команду:
defaults write com.apple.finder AppleShowAllFiles YES
killall Finder
Второй способ заключается в использовании дополнительного софта. Вы можете выбрать Funter или любую другую программу. Если вы все сделали правильно, то обнаружите этот скрытый каталог.
Генерация ключей SSH на компьютере с ОС Windows
Пользователям Windows необходимо проверить, установлен ли OpenSSH. Если да, то следует открыть командную строку и запустить ее от имени администратора.
Для генерации SSH-ключа используйте следующую команду:
ssh-keygen
Как и в MacOS, при нажатии клавиши Enter ключ будет сохранен по умолчанию. Если вам нужна какая-то конкретная папка, то ее следует указать. Затем введите пароль, и система сгенерирует ключ.
Открытый ключ обычно имеет в конце букву .pub, а закрытый выглядит так - id_rsa. Для просмотра содержимого обоих ключей можно воспользоваться программой Notepad.
Интеграция SSH-ключа Siteground с локальным компьютером
Теперь вы знаете основные варианты создания ключей SSH, поэтому давайте обсудим еще один хороший вариант. Создание ключа в cPanel сервера включает в себя следующие шаги:
- На вашей macOS начните с создания документа с именем "id_dsa".
- Войдите в cPanel и создайте ключи.
- Скопируйте и вставьте созданный ключ в "id_dsa".
- Войдите в терминал и введите следующую команду:
ssh-add id_dsa
- Затем выполните команду NAME@HOST-p18765 (где вместо NAME впишите свое имя пользователя, а HOST замените на IP-адрес сервера).
После того как ключ будет успешно сгенерирован, добавьте его на локальную машину следующей командой:
ssh-add name_of_keyf
Вместо keyf следует указать имя файла, в котором находится сгенерированный ключ. Не забудьте добавить точку перед именем файла, если ее нет.
Теперь мы завершили процесс, и наш компьютер распознает ключ, предоставленный веб-хостом. Следующая проблема заключается в том, что ОС воспринимает этот конкретный файл как небезопасный.
Настройка прав доступа к ключевым файлам
Для настройки прав доступа к ключевому файлу можно рассмотреть несколько вариантов:
- Можно начать с обычного изменения разрешения, как и для других имеющихся у вас файлов. Однако могут возникнуть некоторые проблемы, которые не позволят выполнить простую настройку. Если это не помогло, попробуйте следующий способ.
- Добавьте ключевой файл в каталог.shh. Как видите, здесь стоит точка, поэтому папка будет скрыта и более защищена. Если это не сработает, то остается 3-й вариант.
- Настройте право доступа к каталогу .ssh.
Для изменения прав доступа к файлу с ключом SSH необходимо выполнить следующую команду:
sudo chmod 600 /path/to/my/key.pem
Кроме строки с измененным правом доступа, необходимо также ввести пароль компьютера и пароль для SSH-ключа. Следующим шагом будет подключение к серверу Siteground. Для этого необходимо загрузить репозиторий git.
Загрузка Git-репозитория сайта
Пользователю необходимо зайти в cPanel и перейти в меню SG-GIT, где был создан репозиторий. Отсюда можно скопировать git-клон. Простым вводом этой команды в терминал репозиторий будет скопирован на локальное устройство. Начиная с этого момента, можно добавить репозиторий в GIT-софт, такой как, например, GitTower.
Заключение
Как мы уже говорили, SSH - это сетевой протокол, который применяется для обеспечения зашифрованного и полностью безопасного соединения между двумя машинами. В этой статье мы рассказали много полезной информации о включении SSH, генерации SSH-ключей на системах Microsoft и Mac, поиске скрытого каталога, интеграции SSH-ключа Siteground, настройке прав доступа к ключевому файлу и многом другом.
В целом, использование ключей SSH считается более удобным, безопасным и надежным методом доступа к удаленным системам по сравнению со стандартным мандатным подходом. Использование SSH-ключей - отличный вариант для всех пользователей, которые ищут облачную безопасность, туннелирование, удобную аутентификацию, безопасный протокол и надежное управление удаленными устройствами. Конечно, как и в других методах, здесь есть и свои недостатки, но преимущества, безусловно, их перевешивают. Поэтому освоить управление SSH действительно полезно!