SSH
SSH (Secure Shell) - это безопасный протокол для удаленного доступа к системам. Он обеспечивает зашифрованное соединение, что делает его идеальным инструментом для разработчиков и системных администраторов.
Ключевые преимущества SSH:
Шифрование данных: Все передаваемые данные надежно зашифрованы
Аутентификация пользователей: Поддержка паролей и SSH-ключей
Удаленный доступ: Возможность управления серверами из любой точки
Перенаправление портов: Безопасный доступ к сервисам через туннели
Генерация SSH-ключей
Чтобы сгенерировать SSH-ключ, нужно выполнить следующие шаги:
Открыть терминал и ввести команду ssh-keygen. По умолчанию создаётся пара 2048-битных RSA-ключей. Для дополнительной безопасности можно создать пару ключей 4096-битного RSA с помощью команды:
ssh-keygen -b 4096Система запросит место для сохранения пары ключей. По умолчанию это ~/.ssh/id_rsa. Можно нажать Enter, чтобы принять расположение по умолчанию, или указать другой путь или имя ключа.
Если ключ уже существует в системе, появится запрос о перезаписи старого ключа. Система больше не сможет аутентифицироваться с помощью старого ключа. Нужно нажать y для продолжения.
Ввести и подтвердить кодовую фразу. Рекомендуется выбрать надёжную кодовую фразу, включающую заглавные и строчные буквы, цифры и символы.
После двойного ввода кодовой фразы ssh-keygen сгенерирует два файла: один закрытый (id_rsa) и один общедоступный (id_rsa.pub).
Получить публичный ключ пользователя
Найти файл с открытым ключом. Для этого использовать команду:
Подключение публичного ключа
С помощью команды ssh-copy-id. В консоли ввести команду:
ssh-copy-id username@remote_hostи активировать её. Заменить username@remote_host на адрес целевого компьютера. Утилита самостоятельно займётся поиском и копированием ключа.
Ручное копирование. Определить сведения о ключе на серверном ПК через:
cat ~/.ssh/id_rsa.pubВ консоли должна отобразиться строка ssh-rsa + ключ в виде набора символов== demo@test. Перейти к другому компьютеру, где создать новую директорию, введя:
mkdir -p ~/.sshВ ней же добавить текстовый файл под названием authorized_keys. Вставить туда определённый ранее ключ через:
echo + строка публичного ключа >> ~/.ssh/authorized_keys
Как закрыть доступ по паролю и запретить авторизацию для root в SSH
Запрещаем авторизацию для root, нужно отредактировать файл sshd_config:
Открыть файл для редактирования:
nano /etc/ssh/sshd_configНайти параметр PermitRootLogin и заменить его значение на no.
Запрещаем аутентификацию по паролю, нужно выполнить следующие шаги:
Открыть тот же файл sshd_config.
Найти строку PasswordAuthentication yes.
Заменить значение «yes» на «no». Строка может быть закомментирована (перед ней стоит символ «#»), в этом случае её надо раскомментировать.
После внесения изменений необходимо перезапустить сервер. Для этого используют команды: