0Pricing
Linux Command Line & Bash Scripting Mastery · Урок

Аутентификация SSH по ключу и файл конфигурации

Настройте SSH без пароля с помощью пары ключей и упростите подключения с помощью личного файла конфигурации SSH.

«Аутентификация SSH по ключу и файл конфигурации» — бесплатный урок Linux Command Line & Bash Scripting Mastery на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Command Line & Bash Scripting Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Зачем нужна аутентификация по ключу

Ключи SSH заменяют пароли криптографической парой ключей. Они более безопасны и позволяют выполнять автоматизируемый вход без пароля.

  • Закрытый ключ остаётся на Вашем компьютере
  • Открытый ключ копируется на сервер

Создание пары ключей

Используйте ssh-keygen, чтобы создать современную пару ключей Ed25519. Команда создаёт закрытый ключ и соответствующий открытый ключ .pub.

ssh-keygen -t ed25519 -C "you@example.com"

Где хранятся ключи

По умолчанию ключи хранятся в ~/.ssh/. Закрытый ключ должен оставаться секретным, а открытым ключом можно делиться.

ls -l ~/.ssh/

Копирование открытого ключа на сервер

ssh-copy-id за один шаг добавляет Ваш открытый ключ в файл authorized_keys на сервере.

ssh-copy-id user@server.example.com

Установка ключа вручную

Если ssh-copy-id недоступна, вручную добавьте открытый ключ в удалённый файл authorized_keys.

cat ~/.ssh/id_ed25519.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Важность правильных разрешений

SSH отказывается использовать ключи со слишком свободными разрешениями. Для каталога .ssh должно быть установлено 700, а для файлов ключей — 600.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519

Подключение с помощью ключа

После установки открытого ключа команда ssh user@host выполняет вход без пароля. Используйте -i, чтобы выбрать конкретный ключ.

ssh -i ~/.ssh/id_ed25519 user@server.example.com

Защита ключей парольной фразой

Парольная фраза шифрует закрытый ключ на диске. ssh-agent кэширует её, поэтому вводить её нужно только один раз за сеанс.

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Файл конфигурации SSH

В ~/.ssh/config хранятся настройки для отдельных узлов, поэтому подключаться можно с помощью короткого псевдонима вместо длинных команд.

# ~/.ssh/config
Host web
    HostName 203.0.113.10
    User deploy
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Подключение через псевдоним конфигурации

С указанным выше блоком команда ssh web автоматически применяет все эти параметры.

ssh web

Полезные параметры конфигурации

Файл конфигурации поддерживает множество параметров, например для поддержания соединений активными.

  • ServerAliveInterval 60 сохраняет открытыми неактивные сеансы
  • ForwardAgent yes перенаправляет Ваш агент
Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3

Быстрая проверка

Проверьте свои знания о ключах SSH.

Итоги

Вы настроили защищённый доступ по SSH:

  • Создайте пару с помощью ssh-keygen -t ed25519
  • Установите открытый ключ через ssh-copy-id
  • Ограничьте разрешения (700/600)
  • Упростите вход с помощью псевдонимов узлов в ~/.ssh/config

Часто задаваемые вопросы

Урок «Аутентификация SSH по ключу и файл конфигурации» бесплатный?

Да — полный текст урока «Аутентификация SSH по ключу и файл конфигурации» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Command Line & Bash Scripting Mastery, подпишись на CoddyKit PRO. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Чему я научусь в уроке «Аутентификация SSH по ключу и файл конфигурации»?

Настройте SSH без пароля с помощью пары ключей и упростите подключения с помощью личного файла конфигурации SSH. Ты практикуешь Linux Command Line & Bash Scripting Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Command Line & Bash Scripting Mastery?

Предыдущий опыт не требуется. Linux Command Line & Bash Scripting Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Аутентификация SSH по ключу и файл конфигурации»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Linux Command Line & Bash Scripting Mastery?

Да. Каждый урок Linux Command Line & Bash Scripting Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основные сетевые утилиты (ping, ip, netstat)
  2. Основы безопасной оболочки (SSH)
  3. SCP и Rsync для передачи файлов
  4. Аутентификация SSH по ключу и файл конфигурации
← Назад к Linux Command Line & Bash Scripting Mastery