10 найпоширеніших корисних команд SSH

AMDAMD Ryzen 5 4650G 16GB DDR 4 ECC AMD Ryzen 5 4650G Ryzen Dedicated Server Animation
20%
85€ 68€
Order Now

Secure Shell (SSH) – це важливий інструмент для системних адміністраторів, розробників і всіх, хто керує віддаленими серверами. За допомогою SSH ви можете безпечно підключатися до віддаленої машини, виконувати команди, передавати файли та виконувати адміністративні завдання. У цій статті ми розглянемо 10 найпоширеніших команд SSH, які варто використовувати вже сьогодні.

1. Підключення до віддаленого сервера

Найпростіша команда SSH використовується для підключення до віддаленого сервера:

ssh user@remote_host

Замініть user на ваше ім’я користувача, а remote_host на IP-адресу або доменне ім’я сервера.

2. Підключення через певний порт

За замовчуванням SSH використовує порт 22, але ви можете вказати інший порт, якщо це необхідно:

ssh -p 2222 user@remote_host

Це корисно, якщо SSH-сервер налаштовано для роботи на нестандартному порту.

3. Використання ключів SSH для автентифікації

Замість використання пароля ви можете автентифікуватися за допомогою SSH-ключа:

ssh -i /path/to/private_key user@remote_host

Згенерувати SSH-ключ можна за допомогою

ssh-keygen -t rsa -b 4096

Це підвищує безпеку і позбавляє від необхідності щоразу вводити пароль.

4. Запуск команд на віддаленому сервері

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

ssh user@remote_host "ls -l /var/www/html"

Це корисно для швидкого виконання адміністративних завдань.

5. Копіювання файлів за допомогою SCP

Протокол безпечного копіювання (SCP) дозволяє передавати файли між локальними і віддаленими машинами:

scp file.txt user@remote_host:/remote/directory/

Для рекурсивного копіювання каталогу:

scp -r /local/directory user@remote_host:/remote/directory/

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

Альтернативою SCP є rsync, яка є більш ефективною для синхронізації файлів:

rsync -avz /local/directory user@remote_host:/remote/directory

Вона мінімізує передачу даних, надсилаючи лише відмінності між файлами.

7. Налаштування тунелювання по SSH

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

ssh -L 8080:localhost:80 user@remote_host

Це перенаправить трафік з вашого локального порту 8080 на порт 80 віддаленого сервера.

8. Зворотне тунелювання по SSH

Зворотне тунелювання дозволяє віддаленому серверу отримати доступ до вашої локальної машини:

ssh -R 9090:localhost:22 user@remote_host

Це корисно для доступу до системи за брандмауером.

9. Мультиплексування SSH-з’єднань

Якщо ви часто підключаєтеся до одного і того ж сервера, ви можете прискорити роботу SSH, увімкнувши мультиплексування:

ssh -o ControlMaster=yes -o ControlPath=~/.ssh/socket user@remote_host

Це зменшує накладні витрати на автентифікацію для декількох сеансів SSH.

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

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

exit

Або використовуйте ескейп-послідовність:

~.

Це корисно, коли з’єднання не реагує на запити.

Secure Shell (SSH) є важливим інструментом для системних адміністраторів, розробників та всіх, хто керує віддаленими серверами. З віддаленим доступом SSH ви можете безпечно підключитися до віддаленого комп’ютера, виконувати команди, передавати файли та виконувати адміністративні завдання. У цій статті ми розглянемо 10 поширених команд SSH, які ви повинні використовувати сьогодні.

1. Підключення до віддаленого сервера

Найбазовіша команда SSH використовується для підключення до віддаленого сервера:

ssh user@remote_host

Замініть user на ваше ім’я користувача та remote_host на IP-адресу або доменне ім’я сервера.

2. Підключення з конкретним портом

За замовчуванням SSH використовує порт 22, але ви можете вказати інший порт, якщо це необхідно:

ssh -p 2222 user@remote_host

Це корисно, якщо SSH-сервер налаштовано на роботу на нестандартному порту.

3. Використання SSH-ключів для аутентифікації

Замість використання пароля ви можете аутентифікуватися за допомогою SSH-ключа:

ssh -i /path/to/private_key user@remote_host

Генерація SSH-ключа може бути виконана за допомогою:

ssh-keygen -t rsa -b 4096

Це підвищує безпеку та усуває необхідність вводити пароль щоразу.

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

Ви можете виконати одну команду на віддаленому сервері без відкриття інтерактивної сесії:

ssh user@remote_host "ls -l /var/www/html"

Це корисно для швидких адміністративних завдань.

5. Копіювання файлів за допомогою SCP

Secure Copy Protocol (SCP) дозволяє вам передавати файли між локальними та віддаленими машинами:

scp file.txt user@remote_host:/remote/directory/

Щоб скопіювати каталог рекурсивно:

scp -r /local/directory user@remote_host:/remote/directory/

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

Альтернативою SCP є rsync, яка є більш ефективною для синхронізації файлів:

rsync -avz /local/directory user@remote_host:/remote/directory

Це мінімізує передачу даних, відправляючи лише відмінності між файлами.

7. Налаштування SSH-тунелювання

SSH-тунелювання дозволяє вам безпечно пересилати мережевий трафік. Щоб створити локальний тунель:

ssh -L 8080:localhost:80 user@remote_host

Це пересилає трафік з вашого локального порту 8080 на порт 80 віддаленого сервера.

8. Зворотне SSH-тунелювання

Зворотне тунелювання дозволяє віддаленому серверу отримати доступ до вашої локальної машини:

ssh -R 9090:localhost:22 user@remote_host

Це корисно для доступу до системи за брандмауером.

9. Мультиплексування SSH-з’єднань

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

ssh -o ControlMaster=yes -o ControlPath=~/.ssh/socket user@remote_host

Це зменшує накладні витрати на аутентифікацію для кількох сесій SSH.

10. Завершення сесії SSH

Щоб закрити сесію SSH, просто наберіть:

exit

Або використовуйте послідовність виходу:

~.

Це корисно, коли з’єднання стає нереспонсивним.