Добавление публичного ключа на сервер и первый вход по SSH
Дата публикации: 24.04.2026

Добавление публичного ключа на сервер и первый вход по SSH

ccb9a536


Публичный ключ на сервере и первый вход по SSH: ваш цифровой "ключ от квартиры"

Вы только что арендовали сервер — это как новая квартира в виртуальном мире. Но чтобы зайти внутрь, нужен ключ. Пароль — это как кодовый замок на двери: его можно подобрать или украсть. А SSH-ключи — это как уникальный электронный ключ, который открывает дверь только вам, причём без риска, что его скопируют.

В этом уроке вы научитесь: ✅ Генерировать пару ключей (публичный + приватный) на своём компьютере. ✅ Переносить публичный ключ на сервер безопасно (три проверенных метода). ✅ Настраивать сервер так, чтобы вход по паролю стал невозможен (это критично для безопасности!). ✅ Подключаться к серверу по SSH одной командой, как профессионал.


1. Почему SSH-ключи лучше паролей?

Проблема паролей Преимущества SSH-ключей
Легко подобрать брутфорсом (перебором) 2048-битный ключ невозможно взломать за разумное время
Можно украсть через фишинг или кейлоггер Приватный ключ хранится только на вашем ПК и защищён паролем
Нужно запоминать сложные комбинации Одна пара ключей работает для всех ваших серверов
При утечке — сервер скомпрометирован Можно отозвать ключ в один клик (удалить с сервера)

Аналогия: Пароль — как код от сейфа в отеле (его знают администраторы, уборщики, предыдущие гости). SSH-ключ — как ваш персональный отпечаток пальца, который проверяется сканером (сервером) и не передаётся по сети.


2. Генерация SSH-ключей на вашем компьютере

2.1. Проверка существующих ключей

Прежде чем генерировать новые ключи, проверьте, нет ли их уже:

ls ~/.ssh/

Если вы видите файлы id_rsa (приватный ключ) и id_rsa.pub (публичный), ключи уже есть. Можно использовать их или сгенерировать новые.

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

Выполните команду (на вашем локальном компьютере, не на сервере!):

ssh-keygen -t rsa -b 4096 -C "ваш_email@example.com"

Расшифровка флагов:

  • -t rsa — тип ключа (RSA — самый надёжный для большинства задач).
  • -b 4096 — длина ключа в битах (чем больше, тем безопаснее).
  • -C "..." — комментарий (обычно email), чтобы идентифицировать ключ.

Что будет происходить:

  1. Система спросит, куда сохранить ключи. Нажмите Enter, чтобы оставить путь по умолчанию (~/.ssh/id_rsa).
  2. Система предложит ввести парольную фразу (passphrase) для приватного ключа.
    • Рекомендация: придумайте сложную фразу (например, КотПушкинЛюбитМолоко!2024). Это защитит ключ, если его украдут с вашего ПК.
    • Если оставите пустым — ключ будет работать без пароля (удобно, но менее безопасно).

Важно:

  • Приватный ключ (id_rsa) — это ваш секретный ключ от квартиры. Никому его не показывайте!
  • Публичный ключ (id_rsa.pub) — это замочная скважина. Его можно копировать на серверы.

3. Копирование публичного ключа на сервер

Теперь нужно поместить публичный ключ в специальный файл на сервере — ~/.ssh/authorized_keys. Есть три способа это сделать.

Способ 1: Команда ssh-copy-id (самый простой)

Если на вашем локальном компьютере есть утилита ssh-copy-id, используйте её:

ssh-copy-id пользователь@IP_сервера
  • Замените пользователь на имя пользователя на сервере (обычно root или ваше имя).
  • IP_сервера — это IP-адрес вашего сервера (например, 192.168.1.100).

Что произойдёт:

  1. Система запросит пароль от сервера (последний раз!).
  2. Ключ будет скопирован в ~/.ssh/authorized_keys.
  3. Права на файл будут настроены автоматически.

Если команды ssh-copy-id нет (например, на Windows), используйте Способ 2 или 3.


Способ 2: Ручное копирование через SSH

  1. Выведите содержимое публичного ключа на экран:

    cat ~/.ssh/id_rsa.pub

    Скопируйте весь вывод (начинается с ssh-rsa AAA...).

  2. Подключитесь к серверу по SSH с паролем:

    ssh пользователь@IP_сервера
  3. На сервере выполните:

    mkdir -p ~/.ssh
    echo "вставьте_скопированный_ключ" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    • chmod 600 — устанавливает правильные права доступа (только вы можете читать файл).

Способ 3: Копирование через scp (для продвинутых)

Если у вас нет доступа по SSH, но есть другой способ загрузить файлы (например, через панель хостинга), скачайте публичный ключ и загрузите его на сервер вручную:

scp ~/.ssh/id_rsa.pub пользователь@IP_сервера:/tmp/

Затем на сервере:

mkdir -p ~/.ssh
cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm /tmp/id_rsa.pub

4. Первый вход по SSH-ключу

Теперь попробуйте подключиться без пароля:

ssh пользователь@IP_сервера
  • Если вы устанавливали парольную фразу (passphrase), система её запросит.
  • Если всё настроено правильно — вы попадете на сервер без ввода пароля!

Проблемы?

  • "Permission denied (publickey)" — ключ не скопировался или неправильные права на файл. Решение: проверьте ls -la ~/.ssh/authorized_keys (должно быть -rw-------).
  • "Agent admitted failure to sign" — SSH-агент не загрузил ваш ключ. Решение: выполните ssh-add ~/.ssh/id_rsa (и введите passphrase).

5. Отключаем вход по паролю (ОБЯЗАТЕЛЬНО!)

Теперь, когда SSH-ключи работают, закройте лазейку для хакеров — отключите вход по паролю.

  1. Подключитесь к серверу:

    ssh пользователь@IP_сервера
  2. Откройте конфиг SSH:

    sudo nano /etc/ssh/sshd_config
  3. Найдите и измените следующие строки:

    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no

    (Если строки закомментированы #, раскомментируйте их.)

  4. Сохраните файл (Ctrl+O, затем Enter) и закройте (Ctrl+X).

  5. Перезапустите SSH-сервер:

    sudo systemctl restart sshd

⚠️ ВАЖНО:

  • Перед перезапуском откройте второй терминал и проверьте, что вход по ключу работает.
  • Если что-то пойдёт не так, вы можете потерять доступ к серверу! (В этом случае поможет консоль хостинга или KVM от провайдера.)

6. Упрощаем подключение: конфиг SSH на локальном ПК

Чтобы не вводить каждый раз ssh пользователь@IP_сервера, создайте конфиг:

  1. Откройте (или создайте) файл:

    nano ~/.ssh/config
  2. Добавьте следующий блок (замените данные на свои):

    Host мой_сервер
       HostName IP_сервера
       User пользователь
       IdentityFile ~/.ssh/id_rsa
       Port 22
    • мой_сервер — произвольное имя (например, arb-server).
    • Port 22 — порт по умолчанию (если вы его меняли, укажите свой).
  3. Сохраните файл. Теперь подключение упрощается до:

    ssh мой_сервер

7. Бонус: как управлять несколькими ключами

Если у вас несколько серверов, можно:

  • Сгенерировать разные пары ключей для каждого сервера (например, id_rsa_arb, id_rsa_web).
  • В конфиге ~/.ssh/config указать разные IdentityFile.

Пример:

Host арбитражный_сервер
    HostName 192.168.1.100
    User root
    IdentityFile ~/.ssh/id_rsa_arb

Host веб_сервер
    HostName 192.168.1.200
    User deploy
    IdentityFile ~/.ssh/id_rsa_web

Практика для закрепления

Упражнение 1: Проверка понимания

Ответьте на вопросы:

  1. Чем отличается приватный ключ от публичного?
  2. Почему вход по паролю менее безопасен, чем по SSH-ключу?
  3. Что произойдёт, если удалить authorized_keys на сервере?

Упражнение 2: Генерация и копирование ключа

  1. Сгенерируйте новую пару ключей с парольной фразой.
  2. Скопируйте публичный ключ на сервер всеми тремя способами (для практики).
  3. Убедитесь, что вход работает.

Упражнение 3: Настройка безопасности

  1. Отключите вход по паролю в sshd_config.
  2. Перезапустите SSH-сервер.
  3. Попробуйте подключиться по паролю — должно выдать ошибку.

Упражнение 4: Упрощение подключения

  1. Настройте ~/.ssh/config для вашего сервера.
  2. Подключитесь к серверу одной командой (например, ssh мой_сервер).

Упражнение 5: Диагностика проблем

Сценарий: После копирования ключа вы получаете ошибку Permission denied (publickey).

  1. Перечислите 3 возможные причины.
  2. Опишите, как их устранить.

Итоги урока

✅ Вы научились генерировать безопасные SSH-ключи и понимаете, почему они лучше паролей. ✅ Теперь умеете копировать ключи на сервер тремя способами и настраивать права. ✅ Вы отключили вход по паролю, закрыв основную лазейку для хакеров. ✅ Подключение к серверу стало быстрым и удобным благодаря конфигу SSH.

Следующий шаг: В следующем уроке мы настроим fail2ban (защиту от брутфорса) и двухфакторную аутентификацию (2FA) для ещё большей безопасности.

Помните: SSH-ключи — это как цифровой паспорт для вашего сервера. Храните приватный ключ в безопасности, и никто не сможет проникнуть на ваш сервер без вашего разрешения!


Генератор паролей с длинной 64 символа
Женская одежда с бахромой
Кадастровые работы в Бийске
Как Aptum хостинг помогает малым бизнесам в управлении CRM-системами
Как выбрать планировку сайта для блогов на DreamHost
Как выбрать Vdsina вечный хостинг для своего проекта
Казань окна VEKA - профессионализм и опыт
Курьерская вода
Новостройки Оренбурга: недвижимость с отличной ценой
Онлайн чат-партнерство
Пиломатериалы для возведения бани
Почему VDSina — лучший выбор хостинга
Секреты Вконтакте: тонкости и хитрости
Скидки до 50% на тур в Коста-Рике
Видеочат рулетка бесплатно
рейтинг хостингов 2026 Быстрые VDS серверы