20 найпоширеніших команд SSH, які варто використовувати сьогодні ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
13.12.2024

20 найпоширеніших команд SSH, які варто використовувати сьогодні

SSH (Secure Shell) – це широко використовуваний протокол для безпечного доступу до віддалених серверів. Він дозволяє керувати та взаємодіяти з віддаленими системами через зашифроване з’єднання. Оволодіння основними командами SSH може значно підвищити вашу продуктивність і полегшити керування віддаленими серверами. Нижче наведено 20 найпоширеніших команд SSH, які повинен знати кожен системний адміністратор, розробник або будь-хто, хто працює з серверами.

1. Базове підключення по SSH

Ця команда використовується для підключення до віддаленого сервера по SSH.

ssh ім’я користувача@віддалений_хост
  • Замініть username на ваше ім’я користувача, а remote_host на IP-адресу або доменне ім’я сервера.

Приклад:

ssh user@example.com

2. Вкажіть порт

За замовчуванням SSH використовує порт 22. Якщо ваш сервер використовує інший порт, вкажіть його за допомогою прапорця -p.

ssh -p номер_порту ім’я_користувача@віддалений_хост

Приклад:

ssh -p 2222 user@example.com

3. Копіювання файлів з локального на віддалений сервер за допомогою scp

Використовуйте scp (безпечне копіювання) для передачі файлів з локального комп’ютера на віддалений сервер.

scp локальний_файл ім’я_користувача@віддалений_хост:/шлях/до/призначення

Приклад:

scp myfile.txt user@example.com:/home/user/

4. Копіювання файлів з віддаленого на локальний за допомогою scp

Щоб завантажити файли з віддаленого сервера на локальний комп’ютер:

scp ім’я користувача@віддалений_хост:/шлях/до/віддаленого_файлу/шлях/до/локального_призначення

Приклад:

scp user@example.com:/home/user/remote_file.txt .

5. Рекурсивне копіювання каталогів за допомогою scp

Для копіювання цілих каталогів (включно з підкаталогами) використовуйте прапорець -r з командою scp.

scp -r /шлях/до/локального_каталогу ім’я_користувача@віддалений_хост:/шлях/до/віддаленого_призначення

Приклад:

scp -r my_folder user@example.com:/home/user/

6. Виконання команд на віддаленому сервері

Ви можете виконати команду на віддаленому сервері, не відкриваючи інтерактивний сеанс SSH.

ssh ім’я_користувача@віддалений_хост ‘команда_для_виконання’

Приклад:

ssh user@example.com ‘ls -la /home/user’

7. Використання автентифікації за допомогою ключа SSH

Щоб не вводити паролі кожного разу, ви можете використовувати автентифікацію за допомогою ключа SSH.

  1. Згенеруйте пару ключів SSH:
    ssh-keygen -t rsa
  2. Скопіюйте відкритий ключ на віддалений сервер:
    ssh-copy-id ім’я користувача@віддалений_хост

Після копіювання ключа ви зможете увійти без пароля.

8. Перевірка логів SSH-з’єднань

Перегляд журналів спроб входу по SSH і з’єднань на сервері:

sudo cat /var/log/auth.log | grep ‘sshd’

Ця команда корисна для моніторингу спроб несанкціонованого входу.

9. Тунелювання SSH (переадресація портів)

Тунелювання SSH дозволяє безпечно перенаправляти трафік з локального порту на віддалений сервер.

Переадресація локального порту:

ssh -L локальний_порт:віддалений_хост:віддалений_порт ім’я користувача@віддалений_хост

Приклад: Переадресувати локальний порт 8080 на порт 3306 на віддаленому сервері.

ssh -L 8080:localhost:3306 user@example.com

Віддалене перенаправлення портів:

ssh -R віддалений_порт:локальний_хост:локальний_порт ім’я користувача@віддалений_хост

10. SSH до віддаленого сервера з іншим файлом ідентифікації

Якщо у вас є декілька ключів SSH, ви можете вказати конкретний ключ за допомогою прапорця -i.

ssh -i /шлях/до/приватного_ключа ім’я_користувача@віддалений_хост

Приклад:

ssh -i ~/.ssh/id_rsa user@example.com

11. Копіювання файлів за допомогою rsync по SSH

rsync є більш досконалим інструментом для копіювання файлів і каталогів, ніж scp.

rsync -avz /шлях/до/локального_каталогу ім’я_користувача@віддалений_хост:/шлях/до/віддаленого_каталогу

Приклад:

rsync -avz my_folder/ user@example.com:/home/user/

Прапорець -a зберігає права доступу до файлів, -v – для розширеного виводу, а -z вмикає стиснення.

12. Перевірка стану з’єднання по SSH

Перевірити, чи активне SSH-з’єднання з віддаленим сервером:

ssh -O check username@remote_host

Ця команда перевіряє стан з’єднання, не перериваючи його.

13. Список активних SSH-з’єднань

Для перегляду списку активних SSH-з’єднань на сервері можна скористатися:

who

Або:

w

Ці команди показують, які користувачі в даний момент зареєстровані на сервері.

14. Завершення сеансу SSH

Щоб вийти з сеансу SSH, просто введіть :

exit

Або натисніть Ctrl D.

15. Налаштування SOCKS-проксі за допомогою SSH

SSH може працювати як SOCKS-проксі, дозволяючи вам безпечно переглядати Інтернет через SSH-тунель.

ssh -D локальний_порт ім’я_користувача@віддалений_хост

Приклад:

ssh -D 8080 user@example.com

Потім встановіть у налаштуваннях проксі вашого браузера значення localhost:8080, щоб використовувати SOCKS-проксі.

16. Переадресація SSH-агентів

Якщо ви хочете використовувати локальні ключі SSH на віддаленому сервері:

  1. Запустіть SSH-агент на локальній машині:
    eval $(ssh-agent)
    ssh-add ~/.ssh/id_rsa
  2. Підключіться за допомогою переадресації агента:
    ssh -Ім’я користувача@віддалений_хост

Це дозволить вам переходити по SSH з віддаленого сервера на інший сервер, використовуючи ваш локальний ключ.

17. Конфігураційний файл SSH

Щоб спростити підключення по SSH, ви можете створити конфігураційний файл:

  1. Відредагуйте або створіть ~/.ssh/config:
    nano ~/.ssh/config
  2. Додайте запис:
    Хост myserver
    Ім’я хоста example.com
    Користувач user
    Порт 2222
    IdentityFile ~/.ssh/id_rsa
  3. Підключитися до
    ssh myserver

18. Перевірка версії SSH

Щоб побачити, яка версія SSH встановлена у вашій системі:

ssh -V

Приклад виведення:

OpenSSH_8.4p1, OpenSSL 1.1.1k 25 березня 2021

19. Встановіть інтервал KeepAlive для запобігання таймауту

Щоб підтримувати SSH-з’єднання в активному стані і запобігти його тайм-ауту, додайте наступне в ~/.ssh/config:

Хост * * * Хост * * Хост * * Хост * * Хост * * Хост
ServerAliveInterval 60

Це дозволить надсилати сигнал про підтримку з’єднання кожні 60 секунд.

20. Перевірка доступного дискового простору на віддаленому сервері

Ви можете використовувати df по SSH для перевірки дискового простору на віддаленому сервері:

ssh ім’я_користувача@віддалений_хост ‘df -h’

Приклад:

ssh user@example.com ‘df -h’

Ця команда показує доступне місце на диску у зручному для читання форматі (-h).

Підсумок

Ці 20 команд SSH охоплюють широкий спектр функцій, від базових з’єднань і передачі файлів до складних завдань, таких як тунелювання і використання SSH-ключів. Опанувавши ці команди, ви зможете керувати віддаленими серверами більш ефективно і безпечно. Незалежно від того, розгортаєте ви програми, передаєте файли або усуваєте проблеми з сервером, ці команди SSH є важливими інструментами в арсеналі системного адміністратора.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills