Цей пост присвячений поясненню, як використовувати SSH для підключення до віддаленого сервера на Linux. Ми також розглянули спосіб підключення до віддаленого сервера Linux через PuTTY. Звичайно, PuTTY не єдиний клієнт SSH, який можна використовувати для віддалених підключень. Глянути на порівняння найкращих клієнтів SSH для Windows у 2022 році та вибрати той, що вам підходить. Віддалений доступ до пристроїв давно став вимогою, і важко уявити, як би ми керували комп'ютерами без можливості працювати з ними з відстані.
- Що таке SSH і що означає цей акронім?
- Як працює SSH?
- Що таке термінал?
- Що таке SSL?
- Як створити підключення SSH?
- Як використовувати SSH для підключення до віддаленого сервера на Linux?
- Подальші кроки для віддаленого керування SSH
- Що таке PuTTY?
- Як підключитися до сервера Linux через PuTTY?
- Як налаштувати автентифікацію по відкритому ключу SSH на Linux?
- Крок 1: згенеруйте пару ключів
- Крок 2: вкажіть ім'я файлу та пароль
- Крок 3: Скопіюйте відкритий ключ
- Крок 4: Введіть облікові дані вашого облікового запису
- Крок 5: Увійдіть до віддаленої системи
- Крок 6: Створіть необхідний файл на вашому обліковому записі
- Крок 7: Додайте вміст файлу відкритого ключа до файлу authorized-keys
- Крок 8: Видаліть файл відкритого ключа
- Крок 9: Додайте свій відкритий ключ до інших систем (необов'язково)
- Крок 10: Додайте SSH до вашого облікового запису на віддаленій системі
- Важливі стандарти віддаленого доступу
- Що таке VNC?
- Туніль VNC через SSH
- Що таке RDP?
- Висновок: SSH віддалене підключення
- Часто задавані питання
Існує кілька способів підключення до віддаленої машини залежно від операційної системи, але два найбільш поширені протоколи це:
- Secure Shell (SSH) для пристроїв на основі Linux
- Remote Desktop Protocol (RDP) для пристроїв Windows
Обидва протоколи використовують клієнтські та серверні додатки для створення віддалених з'єднань. Ці інструменти дозволяють вам отримувати доступ та віддалено контролювати інші машини, передавати дані та виконувати практично все, що ви можете робити, сидячи фізично перед комп'ютером.
Що таке SSH і що означає цей акронім?
SSH (Secure Shell), також відомий як «Secure Socket Shell», це протокол, який дозволяє вам безпечно підключатися до віддаленого пристрою або сервера за допомогою текстового інтерфейсу. Існує два найбільш поширені протоколи для підключення до віддаленої машини: SSH та RDP. Для створення з'єднання SSH потрібні як клієнтський, так і серверний компоненти.
Коли створюється безпечне з'єднання SSH, починається сеанс оболонки, і ви зможете керувати сервером, вводячи команди в клієнті на вашій локальній машині. Ті, хто хочуть отримувати віддалений доступ до пристрою в дуже безпечному режимі, зокрема системні та мережеві адміністратори, використовують цей протокол для виконання завдання.
Потрібен віддалений робочий стіл?
Надійні, високопродуктивні RDP-сервери з аптаймом 99,95%. Працюйте з віддаленого робочого стола у будь-якому великому місті США, Європи та Азії.
Отримати сервер RDPЯк працює SSH?
Для створення з'єднання SSH вам потрібні два компоненти:
the клієнт та відповідна серверна частина. Клієнт SSH це додаток, який ви запускаєте на пристрої, з якого підключаєтесь до іншого комп'ютера або сервера. Клієнт використовує дані, надані віддаленим хостом, щоб ініціювати з'єднання. Коли облікові дані перевіряються, клієнт створює зашифроване з'єднання.
На стороні сервера розташована частина, яка називається SSH демон (SSHD) який постійно прослуховує певний порт TCP/IP на предмет потенційних запитів на з'єднання від клієнтів. Якщо клієнт встановив з'єднання, демон SSH відповідає версіями програмного забезпечення та протоколу, які він підтримує, і обидві сторони обмінюються даними ідентифікації.
Якщо отримані облікові дані коректні, SSH створює новий сеанс для відповідного середовища. За замовчуванням версія протоколу SSH для взаємодії сервера SSH та клієнта SSH — це версія 2.
Читайте також: Найкращий клієнт SSH для Windows у 2022 році
Що таке термінал?
Якщо ви новачок у Linux, вам потрібно познайомитися з терміналом. Розглядайте його як універсальний центр команд, стандартний спосіб спілкування з сервером Linux.
Робота з командним рядком може здатися складною, але це просто, якщо почати з основ, наприклад таких 15 базових команд, які повинен знати кожен користувач.
Термінал стає ще важливішим, якщо ви планируєте розробляти додаток (або навчатися його розробляти) за допомогою PHP або Python. На відміну від Windows, який ускладнює роботу з Python, намагаючись відтворити його через графічний інтерфейс, Linux інтегрує Python та інші мови програмування в термінал. Тому, попри те що вам потрібно пройти кілька кроків для встановлення Python на Windows щоб отримати лише неефективний результат, Linux вже включає це й дає доступ з командного рядка.
Хостинг на Linux без зайвих складнощів
Хочете зручніший спосіб розмістити свої сайти та вебзастосунки? Розробляєте щось нове? Просто не подобається Windows? Саме для цього в нас є Linux VPS.
Отримати Linux VPSЩо таке SSL?
SSH використовує SSL (Secure Socket Layer) для забезпечення безпеки даних, які передаються між веб-браузером і сервером. Шифрування з'єднання між веб-сервером і браузером здійснюється за допомогою SSL, що гарантує, що всі дані, передані між ними, залишаються приватними та захищеними від атак. Іншими словами, створення відкритих та приватних ключів між віддаленими серверами та локальними комп'ютерами, з'єднаними через SSH, є частиною протоколу безпеки SSL. Цей додатковий рівень захисту особливо корисний у разі атак перебору пароля.
Як створити підключення SSH?
Оскільки встановлення з'єднання SSH потребує як компонента клієнта, так і сервера, ви повинні переконатися, що вони встановлені на локальних і віддалених машинах.
OpenSSH є інструментом з відкритим вихідним кодом SSH, який зазвичай використовується для дистрибутивів Linux і досить простий у використанні. Він потребує доступу до терміналу на сервері та на пристрої, з якого ви підключаєтеся. Зверніть увагу, що Ubuntu за замовчуванням не має встановленого сервера SSH. На цьому етапі цього посібника зі встановлення віддаленого з'єднання SSH ми вже розуміємо SSH та пов'язані з ним концепції. Тепер давайте перейдемо до встановлення клієнта OpenSSH.
Крок 1: встановіть клієнт OpenSSH
Перш ніж встановлювати клієнт SSH, переконайтеся, що він ще не встановлений у вашій системі. Багато дистрибутивів Linux вже мають клієнт SSH.
- Виконайте наступну команду, щоб встановити OpenSSH на ваш пристрій:
sudo apt-get install openssh-client
- Введіть пароль суперкористувача, коли потрібно.
- Натисніть Enter, щоб завершити процес встановлення.
За умови, що у вас є необхідні дозволи на доступ разом із назвою хоста або IP-адресою, ви тепер можете використовувати SSH на будь-якому комп'ютері із серверною частиною програми.
Крок 2: встановіть сервер OpenSSH
Щоб приймати з'єднання SSH, серверна частина комплекту інструментів SSH повинна бути встановлена на комп'ютері. Для цього вам потрібно виконати такі кроки:
- Відкрийте термінал на машині вашого сервера. Ви можете знайти термінал або натиснути Ctrl + Alt + T на вашій клавіатурі.
- Введіть наступну команду для встановлення вашого сервера SSH:
sudo apt-get install openssh-server
- Введіть пароль суперкористувача, коли потрібно.
- Натисніть Enter та Y щоб дозволити встановленню продовжуватися після запиту про дисковий простір.
Після виконання вищезазначених кроків у вас буде встановлені необхідні файли підтримки, після чого ви можете перевірити, чи запущений сервер SSH на машині, введивши цю команду:
sudo service ssh status
Відповідь терміналу має виглядати точно так, якщо служба SSH працює правильно:

Ще один спосіб перевірити, чи сервер OpenSSH встановлений правильно та прийматиме підключення — повторно запустити команду ssh localhost у терміналі. Результат буде подібний до цього екрана під час першого запуску команди:

Тепер введіть так or y для продовження.
Чудово! Ваш сервер готовий приймати запити на дистанційне підключення SSH від іншого комп'ютера за допомогою клієнта SSH.
Як використовувати SSH для підключення до віддаленого сервера на Linux?
Тепер, коли ви встановили клієнт OpenSSH і сервер на всіх необхідних пристроях, ви можете створити безпечне дистанційне підключення SSH до ваших серверів, виконавши такі кроки:
- Відкрийте термінал SSH на вашому комп'ютері та запустіть таку команду:
Якщо ім'я користувача на вашому локальному пристрої збігається з іменем на сервері, до якого ви підключаєтесь, ви можете запустити цю команду:
ssh your_username@host_ip_address
Якщо ім'я користувача на вашому локальному пристрої збігається з іменем на сервері, до якого ви підключаєтесь, ви можете запустити цю команду:
ssh host_ip_address
І натисніть Enter.
- Введіть пароль і натисніть Enter. Зверніть увагу, що при введенні пароля ви не побачите жодного відгуку на екрані. Якщо ви вставляєте пароль, переконайтесь, що він зберігається безпечно, а не у текстовому файлі.
- Коли ви підключаєтесь до сервера вперше, вас запитають, чи хочете ви продовжити підключення. Просто введіть:такта натисніть Enter. Це повідомлення з'явиться лише цей раз, тому що дистанційний сервер не識dentифікований на вашому локальному комп'ютері.
- Ключ відбитка ECDSA додано, і ви підключені до дистанційного сервера.
Якщо пристрій, до якого ви намагаєтесь дистанційно підключитися, знаходиться в одній мережі з вами, безпечніше використовувати приватну IP-адресу замість публічної. Інакше вам знадобиться лише публічна IP-адреса. Тепер ви можете керувати дистанційним пристроєм через термінал. Якщо у вас виникають проблеми з підключенням до дистанційного сервера, перевірте правильність IP-адреси дистанційного пристрою, вашого імені користувача та пароля. Також переконайтесь, що портал SSH, на якому слухає демон, не заблокований брандмауером або неправильно перенаправлений.
Хостинг на Linux без зайвих складнощів
Хочете зручніший спосіб розмістити свої сайти та вебзастосунки? Розробляєте щось нове? Просто не подобається Windows? Саме для цього в нас є Linux VPS.
Отримати Linux VPSПодальші кроки для віддаленого керування SSH
Тепер, коли ви можете створити дистанційне підключення SSH до вашого сервера, ми настійно рекомендуємо виконати кілька додаткових кроків для покращення безпеки дистанційного керування SSH. Коли ви використовуєте значення за замовчуванням для налаштувань, пов'язаних з дистанційним підключенням ssh, ваша система стає більш уразливою для хакерських атак і несанкціонованого доступу, що робить дистанційний доступ SSH небезпечним і робить вашу систему мішенню для автоматизованих атак.
Ось кілька порад щодо покращення безпеки SSH, які ви можете застосувати, відредагувавши файл конфігурації sshd:
- Змініть порт TCP за замовчуванням, на якому прослуховує демон SSH, змінивши його з 22 на щось значно вище, наприклад 245976. Звертайте увагу на те, щоб не використовувати легко вгадувані номери портів, такі як 222, 2222 або 22222.
- Використовуйте пари ключів SSH для аутентифікації без паролю при вході в SSH. Вони безпечніші та дозволяють вам входити без пароля, надаючи вам швидший і зручніший спосіб.
- Вимкніть вхід з паролем на вашому сервері. Якщо ваш пароль буде зламаний, це виключить можливість його використання для входу на ваші сервери. Перш ніж це робити, критично важливо переконатися, що аутентифікація по парам ключів працює правильно.
- Забороніть root-доступ до вашого сервера та використовуйте звичайний обліковий запис із командою su (для переходу до користувача root).
Тепер ми краще розуміємо дистанційне підключення SSH та як отримати дистанційний доступ до SSH. Ми кілька разів посилалися на PuTTy у цій статті. Природно, якщо ви не знайомі з PuTTy, у вас можуть виникнути запитання. Тому, крім того, що ми надаємо статтю з рекомендаціями щодо дистанційного підключення SSH, ми дамо вам огляд PuTTy та покажемо, як його використовувати для підключення до сервера Linux.
Що таке PuTTY?
PuTTY — популярний емулятор терміналу Windows, який не обмежується операційними системами Windows. PuTTy безплатна та з відкритим кодом, тому також популярна серед користувачів Linux і пропонує текстовий інтерфейс користувача для дистанційних комп'ютерів, які запускають будь-які з її підтримуваних протоколів. включаючи SSH та Telnet.
[su_button url="https://www.putty.org/" target="blank" style="soft" size="5"]Завантажити Putty[/su_button]
Примітка: PuTTY — це безплатне програмне забезпечення для завантаження, яке пропонує простий спосіб отримати доступ до оболонки Unix з вашої системи Windows. На відміну від Unix, Windows не має попередньо встановленого сервера або клієнта SSH. Саме тому програма передачі файлів мережі підтримує різноманітні протоколи, включаючи клієнти Telnet.
Читайте також: Генерація ключів SSH у Windows 10
Як завантажити й встановити PuTTY на Ubuntu Linux?
Версія PuTTY для Linux — це графічний термінальний додаток, який не попередньо встановлений у більшості дистрибутивів Linux. Однак ви можете легко встановити PuTTY через термінал на пристрої на основі Linux.
Якщо у вас не встановлено PuTTY, будь ласка, відвідайте Завантажити PuTTY на сторінці та завантажте інсталятор Linux із розділу Package Files.
Гарна новина для користувачів Linux: PuTTY доступний у репозиторії Ubuntu. Щоб встановити PuTTY на Linux, спочатку переконайтеся, що репозиторій Ubuntu увімкнено. Використайте цю команду:
sudo add-apt-repository universe
Після активації репозиторію Ubuntu оновіть його командою:
sudo apt update
Потім встановіть PuTTY командою:
sudo apt install putty
Коли встановлення PuTTY завершиться, запустіть його через меню. Версія PuTTY для Linux виглядає майже як версія для Windows. Ви легко розберетеся в новому інтерфейсі та змінених параметрах.
Як підключитися до сервера Linux через PuTTY?
Щоб підключитися до сервера Linux через PuTTY після встановлення, виконайте кілька кроків:
Крок 1: налаштуйте PuTTY
Коли ви запустите PuTTY, з'явиться основний екран налаштування сесії. Почніть із введення Ім'я хоста (або IP-адреси) сервера, до якого ви хочете підключитися.
За замовчуванням портом буде 22, оскільки це стандартний порт для SSH на більшості серверів, що робить його уразливим для хакерів, які знають цей типовий порт. Вам варто змінити порт SSH за цими інструкціями а потім змінити номер в PuTTY. Переконайтеся, що для Connection type встановлено SSH.
Якщо ви не використовуєте приватний ключ для підключення до сервера й не бажаєте зберігати конфігурацію, натисніть Open, щоб підключитися до SSH сеансу, який автентифікуватиме вас за паролем облікового запису.
Якщо ви підключаєтеся до сервера вперше, PuTTY покаже Попередження про безпеку повідомлення про те, що в реєстрі немає ключа для цього сервера. Це нормально при першому підключенні.

Якщо з'єднання встановлено, вам буде запропоновано ввести пароль. Після цього ви будете підключені до оболонки вашого сервера.
Також читайте : Встановлення MikroTik CHR на VPS (За допомогою PuTTY)
Крок 2: збережіть конфігурацію PuTTY для наступного разу
PuTTY дозволяє зберігати конфігурацію для підключення до сервера, щоб не вводити всі дані кожного разу. Заповніть усі необхідні поля та перейдіть на основний екран налаштування сесії, описаний вище.
Ви побачите ім'я хосту та номер порту вашого сервера. Введіть назву збереженої конфігурації сесії SSH у текстовому полі під Збережені сеанси та натисніть Зберегти.
Як налаштувати автентифікацію по відкритому ключу SSH на Linux?
PuTTY також можна налаштувати для використання ключів SSH. Ключі SSH — безпечніший і часто зручніший метод автентифікації. Ви можете генерувати їх безпосередньо в PuTTY. Ось наш посібник зі створення ключів SSH за допомогою PuTTY на Windows. Використовуйте його, щоб посилити безпеку SSH.
Щоб встановити автентифікацію за відкритим ключем через SSH на Linux (або macOS комп'ютері), виконайте кілька кроків:
Крок 1: згенеруйте пару ключів
Спочатку увійдіть на комп'ютер, з якого ви будете звертатися до віддаленого хосту, і використовуйте командний рядок SSH, щоб згенерувати пару ключів за алгоритмом RSA. Для генерування ключів RSA введіть у командний рядок:
ssh-keygen -t rsa
Крок 2: вкажіть ім'я файлу та пароль
Вам потрібно буде вказати ім'я файлу для збереження пари ключів та пароль для захисту приватного ключа. Якщо ви хочете залишити ім'я та місцезнаходження за замовчуванням, натисніть Enter без введення імені. Альтернативно введіть ім'я файлу, наприклад My_ssh_key, і натисніть Enter. Майте на увазі, що багато віддалених хостів налаштовані приймати приватні ключі з типовим іменем файлу та шляхом. Тому вам може потрібно явно зазначити це в командному рядку SSH або у файлі конфігурації SSH клієнта (~/.ssh/config).
Введіть пароль із щонайменше п'ятьма символами й натисніть Enter. Якщо натиснути Enter без пароля, генеруватиметься приватний ключ без захисту паролем.
Крок 3: Скопіюйте відкритий ключ
Використовуйте SFTP або SCP, щоб скопіювати файл публічного ключа на ваш обліковий запис у віддаленій системі.
Крок 4: Введіть облікові дані вашого облікового запису
Вас попросять ввести пароль вашого облікового запису. Ваш публічний ключ буде скопійований у ваш домашній каталог та збережений під тією ж назвою у віддаленій системі.
Крок 5: Увійдіть до віддаленої системи
Увійдіть до віддаленої системи, використовуючи ім'я користувача та пароль вашого облікового запису
Крок 6: Створіть необхідний файл на вашому обліковому записі
Якщо на вашому обліковому записі у віддаленій системі немає файлу ~/.ssh/authorized_keys, створіть його, введивши такі команди:
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
Крок 7: додайте вміст файлу публічного ключа до файлу authorized-keys

У віддаленій системі додайте вміст вашого файлу публічного ключа, наприклад ~/id_rsa.pub, у новий рядок вашого файлу ~/.ssh/authorized_keys, використовуючи таку команду:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
Рекомендується перевірити вміст ~/.ssh/authorized_keys, щоб переконатися, що ваш публічний ключ був коректно добавлений за допомогою такої команди:
more ~/.ssh/authorized_keys
Крок 8: Видаліть файл відкритого ключа
тепер ви можете безпечно видалити файл публічного ключа з вашого облікового запису у віддаленій системі, використовуючи таку команду у командному рядку:
rm ~/id_rsa.pub
Альтернативно, якщо ви хочете зберегти копію вашого публічного ключа у віддаленій системі, перемістіть його у каталог .ssh цією командою:
mv ~/id_rsa.pub ~/.ssh/
Крок 9: Додайте свій відкритий ключ до інших систем (необов'язково)
На цьому етапі налаштування SSH автентифікації за публічним ключем ви можете повторити ці кроки, щоб додати ваш публічний ключ до інших віддалених систем, до яких ви хочете отримати доступ з комп'ютера з вашим приватним ключем, використовуючи SSH автентифікацію за публічним ключем.
Крок 10: Додайте SSH до вашого облікового запису на віддаленій системі
Тепер ви зможете використовувати переваги SSH віддаленого з'єднання, скориставшись вашим обліковим записом у віддаленій системі, у якому зберігається ваш приватний ключ. Якщо ваш приватний ключ захищено паролем, віддалена система попросить вас ввести пароль або парольну фразу (як на зображенні нижче). Зверніть увагу, що ваш пароль або парольна фраза приватного ключа не передаються до віддаленої системи.

Якщо ваш приватний ключ не захищено паролем, віддалена система перенесе вас у командний рядок у вашому домашньому каталозі без запиту пароля або парольної фрази, і ви побачите вивід, подібний до цього:

Натисніть Відкрити вкладка, введіть пароль та підключіться.
Крім SSH віддаленого з'єднання, існує безліч засобів для керування системою з будь-якої точки світу. Коротко розглянемо ці засоби.
Читайте також: Все, що потрібно знати про SSH SOCKS5 Proxy
Важливі стандарти віддаленого доступу
VNC та RDP - це два протоколи віддаленого робочого стола. Обидві ці технології мають подібні цілі, але їхні методи відрізняються.
Що таке VNC?
Іноді VNC (віртуальне мережеве обчислення) помилково плутають з VPN (віртуальна приватна мережа). Обидва забезпечують однакові можливості в середовищі однорангової мережі, дозволяючи віддалений доступ до комп'ютера. Проте вони принципово не є однаковими.
VNC надає повний доступ до пристрою через системи спільного використання робочого стола, що дозволяє вам повністю контролювати вашу машину з відстані. Можливості віддаленого робочого стола забезпечують продуктивність для всіх зацікавлених сторін, включаючи окремих користувачів, організації та IT-персонал.
З іншого боку, VPN надає віддалений доступ до мережі, а не до самої системи, що означає, що ви можете отримати доступ лише до спільних даних та обладнання, таких як спільний принтер у офісі.
Туніль VNC через SSH
Якщо ви підключаєтесь до віддаленого робочого стола, використовуючи протокол Virtual Network Computing (VNC), ваше з'єднання не буде безпечним. Деякі VNC-клієнти не захищають ваше з'єднання після початкової точки входу. Ви можете передавати VNC-з'єднання через тунель Safe Shell (SSH), щоб уникнути цієї проблеми. Тунель SSH забезпечує безпечне з'єднання для VNC, дозволяючи вам використовувати VNC-з'єднання, коли звичайний порт VNC (порт 5901) заблокований.
Деякі корпоративні мережі блокують стандартні порти, такі як порт 5901, для додаткового захисту, тому передача VNC через SSH дозволить вам подолати цю проблему.
Що таке RDP?
RDP (Remote Desktop Protocol) - це протокол мережевого зв'язку, створений Microsoft, який дозволяє користувачам віддалено підключатися до іншого пристрою. Remote Desktop Protocol є розширенням протоколів T.120 (звичайні протоколи) в рамках МСЕ (Міжнародний союз електрозв'язку).
Потрібен віддалений робочий стіл?
Надійні, високопродуктивні RDP-сервери з аптаймом 99,95%. Працюйте з віддаленого робочого стола у будь-якому великому місті США, Європи та Азії.
Отримати сервер RDPВисновок: SSH віддалене підключення
Щоб створити SSH віддалене з'єднання та використовувати його для підключення сервера в Linux, вам потрібна клієнтська частина та відповідна серверна частина як два компоненти. У цій інструкції пояснено, як отримати доступ до SSH віддалено та скористатися його перевагами. Ми також гордимось тим, що пропонуємо різноманітні Linux VPS плани щоб допомогти вам максимально використовувати його переваги. У Cloudzy ми робимо все можливе, щоб надати вам видатні рішення Linux VPS, так щоб ваш обраний сервіс мав чудову безпеку та продуктивність, забезпечуючи вам виключний досвід хостингу.
Часто задавані питання
Що таке SSH?
SSH — це протокол безпеки для підключення до віддаленого сервера. Команда ssh використовує цей протокол для передачі даних між клієнтом та хостом в зашифрованому вигляді.
Як налаштувати ключі SSH?
- Генерувати ключі SSH
- Назвіть ваші ключі SSH
- Введіть пароль (необов'язково)
- Перенесіть публічний ключ на віддалену систему
- Перевірте ваше з'єднання.
Що таке пара ключів SSH?
Кожна пара ключів SSH складається з двох ключів: публічного ключа та приватного ключа. Будь-хто, хто має копію публічного ключа, може шифрувати дані, але ці дані можуть прочитати лише люди, які мають відповідний приватний ключ.
Де знаходиться приватний ключ SSH?
Якщо ви використовуєте назву за замовчуванням, ваш приватний ключ буде збережено у "/root/.ssh/id_rsa".