Як користуватися 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 додатків. Про це ми поговоримо нижче, але щоб все запрацювало необхідно кардинально вплинути на можливість на стороні сервера, додайте такий рядок:
Основні опції розглянули, перед тим як переходити далі, не забудьте перезавантажити 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 послідовності. Щоб активувати їх підтримку додайте рядок:
~.Інші керуючі символи можна дізнатися натиснувши:
Як користуватися програмою audacity
Filezilla ftp client - безкоштовний ftp клієнт для linux і windows.
Як користуватися curl
Як користуватися filezilla
Як користуватися telnet
Копіювання жорсткого диска в linux
Команда ftp
Вимкнення linux з командного рядка
Команда tftp - обмін файлами по протоколу tftp
Rsync приклади синхронізації
Команда change і аналоги - chglogon, chgport, chgusr
Утиліта ip linux
Команда tskill - завершити процес.
Віддалений робочий стіл ubuntu 16.04
Установка ssh ubuntu 16.04
Адміністрування linux
Команда tsdiscon - відключення сеансу віддаленого робочого стола.
Установка teamviewer ubuntu 16.04
Копіювання файлів scp
Команда cat linux
Передача файлів по ftp
Копіювання файлів scp
Установка teamviewer ubuntu 16.04
Команда tsdiscon - відключення сеансу віддаленого робочого стола.
Віддалений робочий стіл ubuntu 16.04
Як користуватися curl
Установка ssh ubuntu 16.04