Файл ~/.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\<you>\.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-ключі.