20 найпоширеніших команд SSH, які варто використовувати сьогодні
SSH (Secure Shell) – це широко використовуваний протокол для безпечного доступу до віддалених серверів. Він дозволяє керувати та взаємодіяти з віддаленими системами через зашифроване з’єднання. Оволодіння основними командами SSH може значно підвищити вашу продуктивність і полегшити керування віддаленими серверами. Нижче наведено 20 найпоширеніших команд SSH, які повинен знати кожен системний адміністратор, розробник або будь-хто, хто працює з серверами.
1. Базове підключення по SSH
Ця команда використовується для підключення до віддаленого сервера по SSH.
- Замініть username на ваше ім’я користувача, а remote_host на IP-адресу або доменне ім’я сервера.
Приклад:
2. Вкажіть порт
За замовчуванням SSH використовує порт 22. Якщо ваш сервер використовує інший порт, вкажіть його за допомогою прапорця -p.
Приклад:
3. Копіювання файлів з локального на віддалений сервер за допомогою scp
Використовуйте scp (безпечне копіювання) для передачі файлів з локального комп’ютера на віддалений сервер.
Приклад:
4. Копіювання файлів з віддаленого на локальний за допомогою scp
Щоб завантажити файли з віддаленого сервера на локальний комп’ютер:
Приклад:
5. Рекурсивне копіювання каталогів за допомогою scp
Для копіювання цілих каталогів (включно з підкаталогами) використовуйте прапорець -r з командою scp.
Приклад:
6. Виконання команд на віддаленому сервері
Ви можете виконати команду на віддаленому сервері, не відкриваючи інтерактивний сеанс SSH.
Приклад:
7. Використання автентифікації за допомогою ключа SSH
Щоб не вводити паролі кожного разу, ви можете використовувати автентифікацію за допомогою ключа SSH.
- Згенеруйте пару ключів SSH:ssh-keygen -t rsa
- Скопіюйте відкритий ключ на віддалений сервер:ssh-copy-id ім’я користувача@віддалений_хост
Після копіювання ключа ви зможете увійти без пароля.
8. Перевірка логів SSH-з’єднань
Перегляд журналів спроб входу по SSH і з’єднань на сервері:
Ця команда корисна для моніторингу спроб несанкціонованого входу.
9. Тунелювання SSH (переадресація портів)
Тунелювання SSH дозволяє безпечно перенаправляти трафік з локального порту на віддалений сервер.
Переадресація локального порту:
Приклад: Переадресувати локальний порт 8080 на порт 3306 на віддаленому сервері.
Віддалене перенаправлення портів:
10. SSH до віддаленого сервера з іншим файлом ідентифікації
Якщо у вас є декілька ключів SSH, ви можете вказати конкретний ключ за допомогою прапорця -i.
Приклад:
11. Копіювання файлів за допомогою rsync по SSH
rsync є більш досконалим інструментом для копіювання файлів і каталогів, ніж scp.
Приклад:
Прапорець -a зберігає права доступу до файлів, -v – для розширеного виводу, а -z вмикає стиснення.
12. Перевірка стану з’єднання по SSH
Перевірити, чи активне SSH-з’єднання з віддаленим сервером:
Ця команда перевіряє стан з’єднання, не перериваючи його.
13. Список активних SSH-з’єднань
Для перегляду списку активних SSH-з’єднань на сервері можна скористатися:
Або:
Ці команди показують, які користувачі в даний момент зареєстровані на сервері.
14. Завершення сеансу SSH
Щоб вийти з сеансу SSH, просто введіть :
Або натисніть Ctrl D.
15. Налаштування SOCKS-проксі за допомогою SSH
SSH може працювати як SOCKS-проксі, дозволяючи вам безпечно переглядати Інтернет через SSH-тунель.
Приклад:
Потім встановіть у налаштуваннях проксі вашого браузера значення localhost:8080, щоб використовувати SOCKS-проксі.
16. Переадресація SSH-агентів
Якщо ви хочете використовувати локальні ключі SSH на віддаленому сервері:
- Запустіть SSH-агент на локальній машині:eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa - Підключіться за допомогою переадресації агента:ssh -Ім’я користувача@віддалений_хост
Це дозволить вам переходити по SSH з віддаленого сервера на інший сервер, використовуючи ваш локальний ключ.
17. Конфігураційний файл SSH
Щоб спростити підключення по SSH, ви можете створити конфігураційний файл:
- Відредагуйте або створіть ~/.ssh/config:nano ~/.ssh/config
- Додайте запис:Хост myserver
Ім’я хоста example.com
Користувач user
Порт 2222
IdentityFile ~/.ssh/id_rsa - Підключитися доssh myserver
18. Перевірка версії SSH
Щоб побачити, яка версія SSH встановлена у вашій системі:
Приклад виведення:
19. Встановіть інтервал KeepAlive для запобігання таймауту
Щоб підтримувати SSH-з’єднання в активному стані і запобігти його тайм-ауту, додайте наступне в ~/.ssh/config:
ServerAliveInterval 60
Це дозволить надсилати сигнал про підтримку з’єднання кожні 60 секунд.
20. Перевірка доступного дискового простору на віддаленому сервері
Ви можете використовувати df по SSH для перевірки дискового простору на віддаленому сервері:
Приклад:
Ця команда показує доступне місце на диску у зручному для читання форматі (-h).
Підсумок
Ці 20 команд SSH охоплюють широкий спектр функцій, від базових з’єднань і передачі файлів до складних завдань, таких як тунелювання і використання SSH-ключів. Опанувавши ці команди, ви зможете керувати віддаленими серверами більш ефективно і безпечно. Незалежно від того, розгортаєте ви програми, передаєте файли або усуваєте проблеми з сервером, ці команди SSH є важливими інструментами в арсеналі системного адміністратора.