0Pricing
DevOps Bootcamp · Урок

Основы безопасной оболочки (SSH)

Научитесь безопасно подключаться к удалённым машинам Linux, включая аутентификацию по ключу и базовую настройку клиента SSH.

«Основы безопасной оболочки (SSH)» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Что такое защищённая оболочка (SSH)?

Добро пожаловать в раздел «Основы защищённой оболочки (SSH)»! SSH — это мощный сетевой протокол, который позволяет безопасно подключаться к удалённому компьютеру через незащищённую сеть.

Представьте его как защищённый туннель для ваших команд и данных. Он необходим для управления серверами Linux, облачными экземплярами и даже для удалённого доступа к собственной среде разработки.

Зачем использовать SSH? Безопасность прежде всего!

До появления SSH удалённые соединения часто не шифровались, поэтому любой мог перехватить ваши пароли и данные. SSH решает эту проблему с помощью надёжного шифрования.

  • Конфиденциальность: ваши данные зашифрованы и скрыты от посторонних.
  • Целостность: гарантирует, что данные не будут изменены во время передачи.
  • Аутентификация: проверяет подлинность клиента и сервера.

Это отраслевой стандарт для удалённого администрирования.

SSH: клиент-серверная модель

SSH работает по клиент-серверной модели. Вы, пользователь, запускаете SSH-клиент на локальном компьютере. Этот клиент подключается к SSH-серверу (часто называемому `sshd`), работающему на удалённом компьютере.

После установления соединения клиент и сервер выполняют «рукопожатие», чтобы создать защищённый зашифрованный канал до начала обмена данными.

Основная команда для подключения по SSH

Самый простой способ подключиться к удалённому серверу через SSH — использовать команду ssh, указав имя пользователя и узел (IP-адрес или имя узла).

Формат: ssh username@hostname_or_IP. Например, чтобы подключиться к серверу по адресу 192.168.1.100 от имени пользователя coddy:

ssh coddy@192.168.1.100

Первое подключение и отпечатки

При самом первом подключении к новому серверу SSH попросит Вас проверить его «отпечаток». Это уникальный идентификатор, который помогает предотвратить атаки «человек посередине».

По возможности всегда проверяйте отпечаток (например, запросите его у администратора сервера). Если отпечаток совпадает, введите yes, чтобы добавить сервер в файл ~/.ssh/known_hosts.

Порт SSH и нестандартные порты

По умолчанию SSH использует TCP-порт 22. Однако по соображениям безопасности администраторы серверов часто настраивают SSH на прослушивание другого, нестандартного порта.

Если удалённый сервер использует нестандартный порт (например, порт 2222), его можно указать с помощью параметра -p:

ssh -p 2222 coddy@myremoteserver.com

Знакомство с аутентификацией по ключу

Хотя аутентификация по паролю работает, аутентификация SSH по ключу значительно безопаснее и удобнее. Она использует пару криптографических ключей:

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

При подключении сервер проверяет клиент, а клиент использует закрытый ключ, чтобы подтвердить свою подлинность, не передавая сам закрытый ключ по сети.

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

Создать пару ключей SSH можно с помощью команды ssh-keygen. Она предложит указать место для сохранения ключей (по умолчанию — ~/.ssh/id_rsa) и необязательную парольную фразу.

Парольная фраза добавляет дополнительный уровень защиты для вашего закрытого ключа. Настоятельно рекомендуем её использовать!

ssh-keygen -t rsa -b 4096

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

После создания пары ключей необходимо скопировать открытый ключ на удалённый сервер. Проще всего использовать ssh-copy-id. Эта команда сначала подключается к удалённому серверу (используя Ваш пароль), а затем добавляет открытый ключ в файл ~/.ssh/authorized_keys.

После этого Вы сможете подключаться с помощью ключа, а не пароля!

ssh-copy-id coddy@myremoteserver.com

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

Какие из следующих утверждений о SSH верны?

Повторение: основы SSH

В этом уроке Вы изучили основы защищённой оболочки (SSH)!

  • SSH предоставляет безопасный зашифрованный удалённый доступ.
  • Он работает по клиент-серверной модели и обычно использует порт 22.
  • Подключиться можно с помощью ssh user@host.
  • Аутентификация по ключу с использованием пар открытого и закрытого ключей (созданных с помощью ssh-keygen и скопированных с помощью ssh-copy-id) обеспечивает более высокий уровень безопасности по сравнению с паролями.

Далее мы изучим ещё более мощные сетевые команды и инструменты передачи файлов!

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

Урок «Основы безопасной оболочки (SSH)» бесплатный?

Да — полный текст урока «Основы безопасной оболочки (SSH)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Основы безопасной оболочки (SSH)»?

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

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Основы безопасной оболочки (SSH)»?

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

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

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