Полное руководство по созданию SSH-ключей для серверов Amazon и облачных центров обработки данных.
В этой статье мы шаг за шагом расскажем, как создать SSH-ключи для безопасного входа на облачные серверы и в центры обработки данных. Вы узнаете, как создавать и использовать эти ключи в Windows и Linux.

Полное руководство по созданию SSH-ключей для серверов Amazon и облачных центров обработки данных.

В этой статье вы узнаете, как безопасно и профессионально генерировать SSH-ключи для защищенного входа на облачные серверы и в центры обработки данных Amazon. Вы изучите практические методы работы с Windows и Linux, а также лучшие практики обеспечения безопасности и управления серверами.
0 Акции
0
0
0
0
  1. Зачем мне создавать и использовать SSH-ключ?
  2. Предварительные условия и основные понятия
  3. Создание SSH-ключа в Linux/macOS/WSL
    1. Пошаговая инструкция по генерации и управлению ключами в Shell.
  4. Создание SSH-ключа в Windows (PowerShell / Windows OpenSSH)
    1. Команды PowerShell
    2. Преобразовать PEM в PPK с помощью PuTTYgen
  5. Импорт открытых ключей в AWS EC2 и других облачных панелях.
    1. Пример использования cloud-init для добавления открытого ключа
  6. Добавьте ключ в GitLab/GitHub и используйте его в CI.
  7. Настройки сервера и безопасности после установки ключа
  8. Практические советы для различных применений
    1. Для трейдеров (VPS для торговли)
    2. Для геймеров (игровой VPS)
    3. Для ИИ и рендеринга (облачные GPU)
    4. Для хостинга и хостинга GitLab
  9. Ключевое управление, ротация и стандарты
  10. Дополнительные советы и рекомендации по устранению неполадок
  11. Окончательные рекомендации по безопасности
  12. Краткое изложение и предлагаемый контрольный список

Зачем мне создавать и использовать SSH-ключ?

В облачных средах и международных центрах обработки данных безопасный и автоматизированный вход на серверы является краеугольным камнем любой операции DevOps, веб-хостинга, рендеринга, искусственного интеллекта и управления базами данных. SSH-ключи Они представляют собой стандартный, безопасный и настраиваемый с помощью скриптов метод аутентификации и заменяют слабые пароли.

Использование открытых/закрытых ключей снижает риск атак методом перебора, упрощает автоматизацию и внедрение более точных средств контроля доступа.

Предварительные условия и основные понятия

Закрытый ключ: Ваш конфиденциальный файл, который не должен быть разглашен.

Открытый ключ: Файл, размещаемый на сервере (authorized_keys).

Распространенные алгоритмы: ed25519 (рекомендуется), rsa 4096.

Маршруты: ~/.ssh/id_* На Linux/WSL и C:\Users\ \.ssh В Windows.

Доступы: chmod 700 ~/.ssh и chmod 600 Для закрытого ключа.

Создание SSH-ключа в Linux/macOS/WSL

Рекомендуется ed25519 Используйте, если вам не требуется RSA по соображениям совместимости.

Пошаговая инструкция по генерации и управлению ключами в Shell.

ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519 -o -a 100
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/id_rsa -o -a 100
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
ls -la ~/.ssh
cat ~/.ssh/id_ed25519.pub
ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 [email protected]
chmod 400 my-aws-key.pem
ssh -i my-aws-key.pem [email protected]

Примечание: В AWS ключ часто выбирается или импортируется при запуске экземпляра. Если у вас есть PEM-файл, используйте его в качестве идентификатора.

Создание SSH-ключа в Windows (PowerShell / Windows OpenSSH)

В Windows 10/11 есть клиент OpenSSH; также можно использовать PuTTY/Puttygen для подключения к PuTTY.

Команды PowerShell

ssh-keygen -t ed25519 -C "[email protected]" -f $env:USERPROFILE\.ssh\id_ed25519
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Путь к файлу:

  • C:\Users\ \.ssh\id_ed25519

  • C:\Users\ \.ssh\id_ed25519.pub

Преобразовать PEM в PPK с помощью PuTTYgen

Общие шаги:

  • Откройте PuTTYgen.

  • Файл > Загрузить закрытый ключ и файл my-aws-key.pem Загрузить (показать все файлы).

  • Сохраните закрытый ключ как my-aws-key.ppk Используйте в PuTTY (Подключение > SSH > Аутентификация > Файл закрытого ключа).

Импорт открытых ключей в AWS EC2 и других облачных панелях.

Консоль AWS: EC2 > Пары ключей > Импорт пары ключей. Имя и содержимое файла. .паб Входить.

При создании экземпляра можно выбрать существующую пару ключей. В других центрах обработки данных часто есть опция «Загрузить/импортировать SSH-ключ» в панели управления.

Пример использования cloud-init для добавления открытого ключа

#cloud-config
ssh_authorized_keys:
  - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... [email protected]

Добавьте ключ в GitLab/GitHub и используйте его в CI.

Для GitLab: Настройки пользователя > SSH-ключи Вставьте открытый ключ. Перейдите в проект, чтобы развернуть ключи.

В CI/CD загрузите закрытый ключ как защищенную переменную и используйте его в задании, создав файл с ограниченным доступом.chmod 600).

Настройки сервера и безопасности после установки ключа

Шаг 1: Установите права доступа.

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

Затем настройки /etc/ssh/sshd_config Проверить и обновить:

  • Аутентификация по паролю отсутствует

  • PermitRootLogin no

  • PubkeyAuthentication yes

  • Ты можешь РазрешитьПользователям Настройте ограничение доступа для пользователей.

  • UseDNS no При желании можно изменить порт.

sudo systemctl restart sshd

Межсетевой экран:

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw allow 2222/tcp

Для предотвращения атак методом перебора паролей используйте Fail2ban или CrowdSec:

sudo apt install fail2ban

Для серверов с конфиденциальной информацией используйте бастион/промежуточный хост, чтобы ограничить прямой доступ к частным сетям.

Практические советы для различных применений

Для трейдеров (VPS для торговли)

Выберите местоположение: Расположение вблизи серверов брокеров или бирж для минимизации задержек. У нас более 85 представительств по всему миру, что позволяет нам обеспечить размещение вашего целевого рынка в непосредственной близости.

Рекомендуется ограничить использование SSH только статическим IP-адресом или через VPN:

sudo ufw allow from 203.0.113.5 to any port 22

Для геймеров (игровой VPS)

Для игровых серверов используйте локации с надежным пирингом и подходящим CDN/BGP. Используйте SSH-ключи вместо паролей и бастионный хост для уменьшения поверхности атаки.

Для ИИ и рендеринга (облачные GPU)

Используйте надежные ключи (ed25519/RSA4096) для подключения к серверам с графическими процессорами и назначайте отдельного пользователя и ключ для каждого проекта.

rsync -avz -e "ssh -i ~/.ssh/id_ed25519 -p 2222" /local/path user@remote:/remote/path

Для хостинга и хостинга GitLab

Используйте ключ, специфичный для сервера (ключ развертывания), с ограниченным доступом для автоматического доступа к частным репозиториям на сервере.

Ключевое управление, ротация и стандарты

  • Периодически меняйте ключи (например, каждые 6–12 месяцев).

  • Извлеките старые ключи из авторизованные_ключи И удалите панель облачных сервисов.

  • Используйте кодовую фразу для закрытого ключа и сохраните её в менеджере паролей.

  • В организациях для централизованного управления используйте SSH-сертификаты и центры сертификации (OpenSSH CA).

Дополнительные советы и рекомендации по устранению неполадок

При возникновении ошибки Доступ запрещен (publickey) Убедитесь, что открытый ключ находится в ~/.ssh/authorized_keys Оно существует, и права доступа установлены правильно.

sudo journalctl -u sshd -e
sudo tail -f /var/log/auth.log

Если вы используете ProxyJump или промежуточный хост, файл конфигурации будет полезен:

Host bastion
  HostName bastion.example.com
  User ubuntu
  IdentityFile ~/.ssh/id_ed25519

Host internal-*
  ProxyJump bastion
  User deploy
  IdentityFile ~/.ssh/id_deploy

От ServerAliveInterval и ServerAliveCountMax Используйте это в конфигурации SSH, чтобы предотвратить внезапное завершение сеансов.

Окончательные рекомендации по безопасности

К другим важным моментам относятся ограничение доступа по SSH только по IP-адресам, использование VPN или частной сети, а также применение сервисов защиты от DDoS-атак для серверов, имеющих важное значение.

Краткое изложение и предлагаемый контрольный список

  • Создание ключа: ed25519 с парольной фразой

  • Защита файлов: chmod 700 ~/.ssh && chmod 600 private_key

  • Активация SSH-агента и добавление ключей.

  • Загрузите открытый ключ в панель управления AWS или центр обработки данных, либо используйте cloud-init.

  • Отключение аутентификации по паролю и разрешения входа в систему root.

  • Межсетевой экран/UFW и Fail2ban или CrowdSec

  • Использование бастиона, ограничения IP-адресов и VPN для доступа к конфиденциальной информации.

  • Регулярное дублирование и ротация ключей.

Вам также может понравиться
Как заблокировать трафик BitTorrent с помощью IPtables

Как заблокировать трафик BitTorrent с помощью IPtables

IPTABLES — это приложение пользовательского пространства, которое позволяет системному администратору настраивать предоставленные таблицы…

Что такое скимминговое мошенничество и как защитить себя?

Введение Скимминг — это тип атаки «человек посередине», при котором данные с магнитной полосы или чипа карты...

Веб-сервисы Amazon | Веб-сервисы Amazon |

Amazon Web Services (AWS) — самая обширная и всеобъемлющая операционная система в мире, обслуживающая более 175 сервисов из центров обработки данных...