Основы безопасной оболочки (SSH)
Научитесь безопасно подключаться к удалённым машинам Linux, включая аутентификацию по ключу и базовую настройку клиента SSH.
«Основы безопасной оболочки (SSH)» — бесплатный урок Linux Command Line & Bash Scripting Mastery на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Command Line & Bash Scripting Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Command Line & Bash Scripting Mastery содержит 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) и разблокировать остальной курс Linux Command Line & Bash Scripting Mastery, подпишись на CoddyKit PRO. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.
Чему я научусь в уроке «Основы безопасной оболочки (SSH)»?
Научитесь безопасно подключаться к удалённым машинам Linux, включая аутентификацию по ключу и базовую настройку клиента SSH. Ты практикуешь Linux Command Line & Bash Scripting Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Linux Command Line & Bash Scripting Mastery?
Предыдущий опыт не требуется. Linux Command Line & Bash Scripting Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 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 по ключу и файл конфигурации