Введение
SSH-ключы — это стандартный способ безопасной аутентификации на удалённых серверах и в сервисах вроде GitHub. macOS уже включает в себя утилиту ssh-keygen, поэтому генерация ключа занимает всего несколько минут. После выполнения инструкции у вас будет готовый ключ, который можно использовать для Git, Docker и удалённого доступа по SSH.
Требования
- macOS 12 (Monterey), 13 (Ventura) или 14 (Sonoma) (или более поздняя версия).
- Учетная запись с правами администратора (для записи в
~/.ssh). - По желанию: парольная фраза для защиты приватного ключа.
Пошаговая инструкция
Шаг 1: Откройте Терминал
Запустите приложение Terminal, расположенное в папке /Applications/Utilities или найдите его через Launchpad.
Шаг 2: Сгенерируйте SSH-ключ
В терминале выполните команду ssh-keygen -t rsa -b 4096 -C "macbook-$(date +%s)@$(hostname)". Следуйте подсказкам: нажмите Enter, чтобы принять стандартное расположение (~/.ssh/id_rsa), и, при желании, введите парольную фразу.
Шаг 3: Скопируйте публичный ключ
Чтобы скопировать публичный ключ в буфер обмена, выполните: pbcopy < ~/.ssh/id_rsa.pub. Теперь вы можете вставить его на сервер или в GitHub.
Шаг 4: Добавьте ключ на сервер
На удалённом хосте выполните команды:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo "paste‑key" >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
Замените paste‑key на скопированный публичный ключ.
Проверка результата
- Подтвердите наличие ключей:
ls -l ~/.ssh/— должны отображаться файлыid_rsaиid_rsa.pub. - Проверьте публичный ключ:
cat ~/.ssh/id_rsa.pub. - Проверьте SSH-агент (необязательно):
ssh-add ~/.ssh/id_rsa.
Если всё отображается корректно, вы готовы к удалённому подключению без пароля.
Возможные проблемы
ssh-keygen: не удается открыть файл «~/.ssh/id_rsa»: Нет такого файла или каталога💡 Совет: Сначала создайте каталог
.ssh, если он отсутствует:mkdir -p ~/.ssh && chmod 700 ~/.ssh.Permission denied (publickey)при подключении⚠️ Важно: Убедитесь, что права доступа к
~/.ssh/authorized_keysустановлены как600, а каталог — как700.- Запрос пароля при использовании ключа без фразы
💡 Совет: Если вы не хотите каждый раз вводить пароль, добавьте ключ в SSH-агент:
ssh-add ~/.ssh/id_rsa.