SSH (Secure Shell) — это сетевой протокол, который используется для безопасного доступа к удаленным компьютерам и управления ими. Он обеспечивает шифрование данных, аутентификацию и целостность передаваемой информации, что делает его предпочтительным средством для удаленного администрирования и передачи файлов.
🚩Основные характеристики и возможности
🟠Безопасность
SSH использует криптографические методы для шифрования данных, что защищает передаваемую информацию от перехвата и анализа.
Протокол поддерживает различные методы аутентификации, включая использование паролей и публичных/приватных ключей.
🟠Аутентификация
Парольная аутентификация: Пользователь вводит свой логин и пароль для доступа к удаленной системе.
Аутентификация с помощью ключей: Вместо пароля используется пара ключей (публичный и приватный). Публичный ключ размещается на удаленном сервере, а приватный ключ остается на клиентской машине.
🟠Шифрование данных
Шифрует все передаваемые данные, включая пароли, команды и файлы, что предотвращает их перехват и несанкционированный доступ.
🟠Целостность данных
Обеспечивает контроль целостности передаваемых данных, используя алгоритмы хеширования, которые обнаруживают любые изменения данных в процессе передачи.
🟠Туннелирование
Позволяет создавать зашифрованные туннели для передачи данных других протоколов (например, HTTP, FTP), обеспечивая их безопасность.
🚩Основные компоненты
🟠SSH-клиент
Установленное на локальном компьютере, которое используется для установления соединения с удаленным сервером.
🟠SSH-сервер
Работающее на удаленной машине, которое принимает и обрабатывает соединения от SSH-клиентов.
🚩Пример
🟠Установка соединения с удаленным сервером:
Для подключения к удаленному серверу используется команда
ssh в терминале.ssh username@remote_host
🟠Копирование файлов через SSH
Для копирования файлов с локального компьютера на удаленный сервер или наоборот используется команда
scp.scp localfile.txt username@remote_host:/remote/directory/
Копирование файлов с удаленного сервера на локальный компьютер
scp username@remote_host:/remote/file.txt /local/directory/
🟠Использование ключей для аутентификации
Генерация пары ключей (публичного и приватного)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Копирование публичного ключа на удаленный сервер
ssh-copy-id username@remote_host
Ставь 👍 и забирай 📚 Базу знаний