15 SSH-команд, щоб прискорити доступ до серверів

SSH (Secure Shell) — це базовий інструмент для адміністрування серверів, який гарантує безпечне з’єднання між двома пристроями. Він дозволяє отримувати доступ до віддалених машин, передавати файли та керувати процесами через термінал.
Однак постійне введення довгих рядків не лише стомлює, а й збільшує ризик помилок. У цій статті ми розглянемо 15 команд, які допоможуть тобі оптимізувати роботу з SSH та зробити доступ до серверів швидшим і зручнішим.
1. Оновлення списку пакетів
sudo apt update && sudo apt upgrade
Почни з оновлення системи. Це базовий, але важливий крок. Хоч він і не пов’язаний безпосередньо з SSH, актуальні версії пакетів забезпечують стабільну роботу та підтримку нових функцій.
Також це зменшує ризики помилок при інсталяції додаткових інструментів — особливо якщо працюєш із репозиторіями, де пакети залежать від актуальних версій.
2. Базове SSH-з’єднання
ssh user@IP
Це найпростіший спосіб під’єднатися до віддаленого сервера: ти вказуєш свій логін (user) і IP-адресу сервера. Саме з такої команди починається будь-яка робота з SSH.
Наприклад:
ssh admin@192.168.1.10
Система запитає пароль (якщо не налаштований SSH-ключ), і ти отримаєш доступ до сервера через термінал.
Далі покажемо, як зробити підключення швидшим і зручнішим.
3. Підключення з кастомним портом
ssh user@IP -p 2222
Деякі сервери працюють не на стандартному порту 22. Якщо порт змінено, то додавай -p.
4. Підключення з ключем доступу
ssh -i ~/.ssh/id_rsa user@IP
Цей спосіб автентифікації надійніший, бо замість введення пароля використовується приватний SSH-ключ.
Прапорець -i вказує, де саме лежить твій ключ (~/.ssh/id_rsa — шлях за стандартом).
5. Створення SSH-ключа
ssh-keygen -t rsa -b 4096 -C «your_email@example.com»
Ще не маєш SSH-ключа? Його варто створити заздалегідь — саме він забезпечує захищене з’єднання без пароля.
Команда вище згенерує пару ключів: приватний (id_rsa) і публічний (id_rsa.pub), які зберігаються в теці ~/.ssh.
Пояснюємо:
- -t rsa — тип алгоритму (RSA один із найпоширеніших)
- -b 4096 — довжина ключа в бітах (чим більша, тим надійніше)
- -C — коментар для ідентифікації ключа (зазвичай твоя пошта)
У процесі створення система може запитати:
- шлях збереження
- пароль для захисту ключа (можеш задати для додаткової безпеки або залишити порожнім)
6. Передача ключа на сервер
ssh-copy-id -i ~/.ssh/id_rsa.pub user@IP
Ця команда додає твій публічний ключ до сервера, щоб ти міг заходити без введення пароля. Замість user введи свій логін, а server_ip — IP-адресу або домен сервера.
Сервер збереже ключ у файлі ~/.ssh/authorized_keys. Надалі, якщо в тебе є відповідний приватний ключ (id_rsa), він впустить тебе без запиту пароля.
7. Створення конфігураційного файлу
nano ~/.ssh/config
У цьому файлі можна зберігати налаштування для кожного сервера окремо: IP-адресу, порт, користувача, шлях до ключа тощо.
Завдяки цьому ти зможеш підключатися за короткими командами, на зразок ssh server1, замість довгих рядків із параметрами.
8. Скорочення довгих команд
Host dev-server
HostName 192.168.1.100
User dev
Port 2222
IdentityFile ~/.ssh/id_rsa
Тепер достатньо ввести ssh dev-server і з’єднання встановиться автоматично. Усі параметри вже збережені, тож щоразу підключатимешся за скороченою командою.
9. Додавання серверів
Host prod
HostName 203.0.113.10
User root
Port 2200
Host staging
HostName 10.0.0.5
User ubuntu
Скільки хочеш, стільки й додаєш. Один конфіг — багато серверів.
10. Увімкнення автодоповнення назв серверів
echo «complete -o default -o nospace -F _ssh ssh» >> ~/.bashrc && source ~/.bashrc
Ця команда активує автодоповнення для команд SSH у твоєму терміналі. Тепер достатньо ввести ssh і натиснути TAB — ти отримаєш список усіх назв серверів, які збережені у файлі ~/.ssh/config.
Це зручно, коли працюєш із кількома серверами одночасно: не потрібно запам’ятовувати IP-адреси або вручну вводити параметри — усе під рукою.
11. Тест з’єднання без входу
ssh -T user@IP
Команда для перевірки, чи сервер взагалі відповідає. Зручно для CI/CD або просто перед деплоєм.
12. Проксі з’єднання через інший хост
ssh -J jump_user@jump_host user@target_host
Іноді пряме SSH-підключення до сервера неможливе. Наприклад, через обмеження брандмауера або ізольовану мережу.
У таких випадках використовується jump host — проміжний сервер, через який здійснюється підключення до кінцевого вузла.
У цій команді:
- -J означає Jump
- jump_user@jump_host — SSH-доступ до проміжного хоста
- user@target_host — цільовий сервер, до якого потрібно під’єднатися
13. Переадресація портів
ssh -L 8080:localhost:80 user@IP
Зручно, якщо хочеш прокинути порт із віддаленої машини локально, наприклад, щоб протестувати вебсервіс без відкриття порту назовні.
14. Завантаження файлів через SSH
scp file.txt user@IP:/home/user/
Якщо треба просто скинути файл на сервер — це найшвидший спосіб.
15. Зворотне копіювання з сервера
scp user@IP:/home/user/file.txt ./
Ця команда допоможе швидко скопіювати потрібний файл із сервера на твій локальний комп’ютер.
- scp — це утиліта для безпечного копіювання через SSH
- user@IP — логін та IP-адреса сервера
- /home/user/file.txt — шлях до файлу, який хочеш завантажити
- ./ — вказує, що файл треба зберегти в поточній директорії на локальній машині
Підсумуємо
Ці 15 команд — не просто список, а твій базовий набір для впевненого керування серверами. Вони допоможуть зменшити кількість рутинних дій, підвищити безпеку підключення і налаштувати свій термінал так, щоб все працювало швидко та зручно.
Готовий рухатись далі у карʼєрі? Подивись, що ми зібрали в каталозі курсів ITEDU — чіткі програми, практика і максимум користі. Обирай свій напрям і стартуй.