Як користуватися ssh

SSH - (Secure Shell) - це протокол віддаленого управління комп`ютером з операційною системою Linux. В основному ssh використовується для віддаленого управління серверами через термінал. Якщо ви адміністратор декількох серверів або навіть просунутий веб-майстер, то напевно, ви часто стикаєтеся з необхідністю працювати з тим чи іншим комп`ютером по ssh. У Linux для цього використовується сервер ssh на машині, до якої потрібно підключитися і клієнт, на тій з якої підключаються.

У цій інструкції ми розглянемо як користуватися ssh, а також її можливості, про які ви навіть не знали. Швидше за все, ви вже знаєте як підключитися до сервера по ssh, але у цієї утиліти є ще багато можливостей, таких як передача файлів ssh, підключення без пароля або виконання скрипта на віддаленому сервері. Все це ми і розглянемо далі в статті.

Але почнемо з самих основ.

базовий синтаксис

Синтаксис команди виглядає наступним чином:

$ ssh [Опції] Ім`я користувача@сервер [Команда]

Важливо зауважити що ssh може працювати за двома версіями протоколу. Версії 1 і 2. Ясна річ, що версія 2 краще і підтримує більше типів шифрування і аутентифікації. Більше в цій статті про відмінності протоколів ми говорити не будемо і я буду мати на увазі що ви використовуєте версію 2.

Опції команди SSH

Тепер давайте розглянемо основні опції команди ssh:

  • f - перевести ssh у фоновий режим
  • g - дозволити віддаленим машинам звертатися до локальних портів
  • l - ім`я користувача в системі
  • n - перенаправити стандартний висновок в / dev / null
  • p - порт ssh на віддаленій машині
  • q - Більше не показувати повідомлення про помилки
  • v - режим налагодження
  • x - відключити перенаправлення X11
  • X - включити перенаправлення Х11
  • C - включити стиск

Це далеко не всі опції утиліти, інші виходять за рамки даної статті. Багато настройки роботи ssh можна змінювати через конфігураційний файл ~ / .ssh / config але тут ми це теж детально розглядати не будемо.

Налаштування сервера SSH

Налаштування сервера SSH знаходяться в файлі / etc / ssh / sshd_config. Багато з них ми теж не чіпатимемо. Розглянемо тільки найцікавіші. Спочатку відкрийте файл /etc/ssh/sshd.conf

порт ssh

За замовчуванням ssh працює на порту 22. Але така поведінка небезпечно, оскільки зловмисник знає цей порт і може спробувати виконати Bruteforce атаку для перебору пароля. Порт задається рядком:

# Protocol 2


І приведіть її до такого виду:

PermitRootLogin no

Доступ лише певного користувача до SSH

Ми можемо дозволити доступ до ssh тільки для певного користувача або групи. Для цього додайте рядки:


AllowGroups Group1, Group2, Group3

Тут User1 і Group1 - користувач і група до яких потрібно дозволити доступ.

Виконання X11 додатків

Не всі знають, але є можливість використовувати ssh для запуску повноцінних X11 додатків. Про це ми поговоримо нижче, але щоб все запрацювало необхідно кардинально вплинути на можливість на стороні сервера, додайте такий рядок:

X11Forwarding yes

Основні опції розглянули, перед тим як переходити далі, не забудьте перезавантажити ssh сервер щоб зберегти зміни:

$ Ssh user @ host

виконати команду




Ми звикли підключатися до віддаленого сервера, а вже потім виконувати потрібні команди, але насправді утиліта ssh дозволяє відразу виконати потрібну команду без відкриття терміналу віддаленої машини. наприклад:

$ Ssh user @ host `bash -s` lt; script.sh

Бекап на віддалений сервер і відновлення

Ми можемо зберігати бекеп диска відразу на віддаленому сервері за допомогою ssh. Переспрямуємо висновок dd за допомогою оператора перенаправлення |, потім збережемо його на тому боці в файл:

$ Ssh user @ host `dd if = sda.img` | dd of = / dev / sda

Тут і вище / dev / sda ім`я файлу вашого жорсткого диска.

Аутентифікація без пароля

Використання ssh пароля для входу на сервер не тільки незручно але й небезпечно, тому що цей пароль в будь-який момент може бути підібраний. Найнадійніший і часто використовуваний спосіб аутентифікації - за допомогою пари ключів RSA. Секретний ключ зберігається на комп`ютері, а публічний використовується на сервері для посвідчення користувача.

Налаштувати така поведінка дуже легко. Спочатку створіть ключ командою:

$ Ssh-copy-id -i ~ / .ssh / id_rsa.pub user @ host

От і все. Тепер при спробі підключитися до цього сервера пароль запитуватися не буде, а стазу відбудеться підключення. Дивіться докладніше створення відкритого ключа для ssh.

Взяти пароль з локального файлу

Нагадаю, що зберігати паролі в звичайних текстових файлах небезпечно, але якщо хочете, то так - можливо. Для цього використовується оператор перенаправлення вводу Bash:

$ Vi / etc / issue $ cat / var / log / secure | grep "Failed password for"

Передача файлів по SSH

Крім виконання команд, можна копіювати файли з ssh. Для цього використовується утиліта scp. Просто вкажіть файл, який потрібно передати, віддалений сервер і папку на сервері, ось:

$ scp / Адреса / локального / файлу користувач @хост:адерс / папки

наприклад:

$ Cat localfile | ssh user @ host "cat gt; remotefile "

Або так:

remotefile " lt; localfile

Підемо ще далі, ви можете стискати файли перед передачею за допомогою tar, а потім їх відразу ж на льоту розпаковувати:

$ Ssh -XC user @ remotehost "eclipse"

Як ви вже бачили опція X дозволяє перенаправлення X11 на стороні клієнта, а С - стиснення даних.

Завершення сесії ssh

Якщо ви використовували ssh з нестабільним інтернетом, коли з`єднання час від часу рветься, то вам вже, напевно, набридло закривати термінал, тому що інакше, на перший погляд, сеанс ніяк з припинити. Коли з`єднання з віддаленим сервером розірвано ви не можете ввести ніяку команду і поєднання клавіш Ctrl + C, Ctrl + Z, Ctrl + D не працюють. І не будуть працювати оскільки клієнт намагається відправити ці команди на сервер. Але є рішення - Escape послідовності. Щоб активувати їх підтримку додайте рядок:

~.

Інші керуючі символи можна дізнатися натиснувши:

Поділися в соціальних мережах:

Схожі
Утиліта ip linuxУтиліта ip linux
Як користуватися програмою audacityЯк користуватися програмою audacity
Копіювання файлів scpКопіювання файлів scp
Установка teamviewer ubuntu 16.04Установка teamviewer ubuntu 16.04
Команда tsdiscon - відключення сеансу віддаленого робочого стола.Команда tsdiscon - відключення сеансу віддаленого робочого стола.
Віддалений робочий стіл ubuntu 16.04Віддалений робочий стіл ubuntu 16.04
Команда ftpКоманда ftp
Як користуватися curlЯк користуватися curl
Команда tftp - обмін файлами по протоколу tftpКоманда tftp - обмін файлами по протоколу tftp
Установка ssh ubuntu 16.04Установка ssh ubuntu 16.04
» » Як користуватися ssh