Команды
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 г.