Перейти к содержимому

Команды

SSH: подключение к серверу, ключи ssh-keygen и authorized_keys

ssh — защищённое подключение к удалённой машине: шифрованная оболочка, выполнение команд, передача файлов и туннели.

Подключение

ssh user@10.0.0.5                    # подключиться
ssh -p 2222 user@host                # нестандартный порт
ssh -i ~/.ssh/work_key user@host     # конкретный ключ
ssh user@host 'df -h'                # выполнить команду и выйти
ssh -v user@host                     # подробный вывод — для отладки

Копирование файлов

scp file.txt user@host:~/            # на сервер
scp user@host:/var/log/app.log .     # с сервера
scp -r ./site user@host:/var/www/    # каталог
rsync -avz ./site/ user@host:/var/www/site/   # синхронизация: передаёт только изменения

Ключи

ssh-keygen -t ed25519 -C "me@laptop"     # создать пару ключей
ssh-copy-id user@host                    # установить открытый ключ на сервер
ssh-keygen -l -f ~/.ssh/id_ed25519.pub   # отпечаток ключа
ФайлЧто этоПрава
~/.ssh/id_ed25519закрытый ключ — никому не передавать600
~/.ssh/id_ed25519.pubоткрытый ключ — можно раздавать644
~/.ssh/authorized_keysключи, которым разрешён вход на эту машину600
~/.ssh/known_hostsотпечатки серверов, к которым вы подключались644
~/.sshкаталог700

Если права шире, сервер откажется принимать ключ: это защита от подложенных ключей.

~/.ssh/config

Host prod
    HostName 203.0.113.10
    User deploy
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Теперь достаточно ssh prod.

Защита сервера (/etc/ssh/sshd_config)

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
AllowUsers deploy

После изменения: sudo sshd -t (проверка синтаксиса) и sudo systemctl restart ssh. Не закрывайте текущую сессию, пока не проверили вход в новой.

Предупреждение о смене ключа сервера

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! означает, что отпечаток сервера не совпадает с сохранённым. Это может быть переустановка сервера, а может быть перехват соединения. Уточните у администратора, прежде чем удалять старую запись (ssh-keygen -R host).

С точки зрения безопасности

Перебор паролей SSH видно в /var/log/auth.log по строкам Failed password. Закрытые ключи с открытыми правами и чужие ключи в authorized_keys — классические находки при расследовании и пентесте.

Обновлено 20 октября 2026 г.

SSH: подключение к серверу, ключи ssh-keygen и authorized_keys — CyberLab