VDS · Доступ к машине

Файл ~/.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.