Аутентификация 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 — локальная установка не требуется.
Все уроки этого курса
- Основные сетевые утилиты (ping, ip, netstat)
- Основы безопасной оболочки (SSH)
- SCP и Rsync для передачи файлов
- Аутентификация SSH по ключу и файл конфигурации