Файл ~/.ssh/config: короткие имена вместо длинных команд
Как описать машину один раз и подключаться командой из двух слов, задать ключ, пользователя, порт и держать соединение живым.
Обновлено 23 августа 2026 г.
Вместо ssh -i ~/.ssh/id_ed25519 -p 22 root@203.0.113.10 можно писать ssh vds. Настраивается один раз на вашем компьютере.
Где лежит файл
На macOS и Linux — ~/.ssh/config. На Windows — C:\Users\<вы>\.ssh\config (тот же путь ~/.ssh/config в Windows Terminal). Файла может не быть, создайте его:
mkdir -p ~/.ssh
nano ~/.ssh/config
chmod 600 ~/.ssh/config
Права важны: с открытым для всех файлом клиент может отказаться его читать.
Минимальная запись
Host vds
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
Теперь работает:
ssh vds
Короткое имя подхватывают и другие инструменты:
scp dump.sql vds:/root/
sftp vds
rsync -avz ./site/ vds:/var/www/site/
Про копирование файлов — scp и rsync и SFTP.
Полезные параметры
Host vds
HostName 203.0.113.10
User artem
Port 22
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
ServerAliveInterval 30
ServerAliveCountMax 3
| Параметр | Зачем |
|---|---|
IdentitiesOnly yes | Клиент предложит только указанный ключ. Спасает, когда ключей много и сервер обрывает попытки |
ServerAliveInterval | Каждые 30 секунд шлёт пакет, чтобы соединение не отвалилось по бездействию |
Port | Если вы перевесили SSH на нестандартный порт |
User | Имя пользователя по умолчанию для этого хоста |
Несколько машин
Host vds-web
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
Host vds-db
HostName 203.0.113.20
User artem
IdentityFile ~/.ssh/id_ed25519
Host *
ServerAliveInterval 30
Блок Host * задаёт общие настройки для всех записей. Порядок имеет значение: применяется первое совпадение по каждому параметру, поэтому общий блок держите внизу.
Частые ошибки
- Отступы табами и лишние пробелы в конце строки — часть клиентов на это ругается. Используйте четыре пробела.
- Путь к ключу с обратными слешами на Windows — пишите
~/.ssh/id_ed25519. - Пропущено
HostName— тогда клиент попытается подключиться к хосту с именемvdsи не найдёт его. - Права 644 на файле — поставьте
600.
Проверить, что именно применяется к хосту:
ssh -G vds
ssh -v vds
Первая команда печатает итоговые параметры, вторая показывает ход подключения — по ней видно, какой ключ был предложен.
Файл
configописывает только вашу сторону. Что машина принимает — решает/etc/ssh/sshd_configна ней, см. ключи SSH.