Подключение к ubuntu по ssh из windows

Обновлено: 04.07.2024

Всем привет, это моя первая статья на Хабре (да и первая в принципе). Я не в коем случае не претендую сейчас на звание специалиста и т.п. В общем, как и понятно из названия это мой первый опыт, так что, конечно, будут и ошибки. Я рад любой критике. Это статья нужна так же в основном и мне, для того, чтобы научиться писать статьи, так как скоро дипломная, а это как не как опыт(хотя и немного не то) была в случае чего шпаргалка и мне не приходилось бы снова искать по всему интернету всю эту информацию. Ну со вступлением все.

Начну с того, что скажу зачем мне вообще это понадобилось. А все просто, интересно. Я захотел создать десктопное приложение с базой данных, но я так уже делал и я захотел немного усложнить задачу, так как мне, в случае успеха, придется устанавливать эту программу для корпоративных целей, то базу данных надо переместить на сервер. Так что я взял старенький ноутбук и решил из него попробовать сделать сервер для базы данных. И столкнулся со множеством проблем, решение которых заняло у меня дня так три(если не учитывать то время, которое я пытался провозиться еще и с VirtualBox дня 2), хотя для некоторых может это и будет казаться легкотней, но для меня это было интересно и познавательно, ладно, начнем.

Установка Ubuntu Server.

Настройка сети.

Ну перейдем к теме настройки сети. Цель настроить wifi. В интернете полно руководств по настройки проводного подключения, но мне так и не удалось найти руководство по настройке wifi, после которого бы у меня он заработал. wifi мне нужен в основном для того, чтобы во время разработки не быть привязанным к проводной сети. Но для того, чтобы его настроить все таки сначала понадобится проводная сеть. В принципе по умолчанию для проводной сети ip адрес определяется по DHCP, так что достаточно просто вставить Enternet-кабель и интернет заработает. Если это не так, то моя статья по этому поводу не поможет(уж извините). Дальше нам понадобится установить пакет net-tools. Для этого выполните команду:

Теперь нам надо узнать названия сетевых интерфейсов. Для этого выполним следующую команду


Появиться окно с настройками. Далее я приведу уже свои настройки(естественно скрыв SSID и password).


Для проверки нашего конфигурационного файла вводим команду:

И для того, чтобы настройки вступили в силу, вводим команду:

Но это еще не все, даже после таких действий у меня так и не заработал wifi. Нам надо скачать еще один пакет, который называется wpasupplicant, он позволяет работать с сетями, которые имеют метод шифрования WPA, WPA2 и т.д. Может это все и выглядит банально, но у меня ушло много времени, чтобы найти ошибку. Вводим следующую команду:

После этого у меня сразу заработал wifi(если не заработал, то можно попробовать перезагрузить систему). Теперь, когда появился wifi, можно перейти к настройке ssh.

Настройка SSH

Настроим конфигурационный файл, для этого выполним команду:

Откроется примерно такой файл:


Port - по умолчанию идет 22, но для безопасности лучше поменять, я поставил 2023.

Protocol - протокол SSH. Первый протокол плохо защищен, так что ставим 2.

PermitRootLogin - если поля имеет значение no, то при подключение через SSH невозможно будет войти за root.

PubkeyAuthentication - разрешает/запрещает входить по публичному ключу(расм. далее)

AuthorizedKeysFile - показывает файлы с публичными ключами

PasswordAuthentication - если поле имеет значение yes, то возможно будет войти с помощью пароля пользователя, иначе можно будет войти только по ключу(если PubkeyAuthentication yes)

Все остальные поля я оставил как они и были(там были и другие раскомментированные поля)

После настройки необходимо перезагрузить ssh, для этого выполним команду:

Дальше во всех статьях, которые мне попадались, говорили, что можно смело подключаться по SSH, но как я не пытался в ответ я получал только connection refused(соединение отклонено). Кстати, чтобы подключиться необходимо ввести команду:

port - порт подключения, в моем случае 2023

username - имя пользователя(в моем случае vavilonbase, например)

hostname - имя хоста(к этому вернемся далее)

Я лишь покажу конечный результат переадресации портов:


После этого у меня все заработало. Теперь, в моем случае, для подключения по ssh нужно ввести команду:

И после этого ввести пароль, все готово.


Здесь надо написать yes и нажать Enter.

SSH-ключ

Но в интернете мне было сложно найти точное описание как же это сделать в Windows(а у меня основная машина WIndows). Так что я покажу все это на примере WIndows. Начнем.

Для начало надо установить на Windows клиент OpenSSH(кстати, его же надо установить и для подключения по ssh по паролю).

Для этого надо сделать все как на картинках:



В этой вкладке смотрим, если ли клиент OpenSSH


Если нет такого клиента, то жмем добавить компонент, находим клиент OpenSSH и устанавливаем его.


Теперь, когда у нас есть клиент OpenSSH перейдем к генерации ключа.

Для генерации ключа вводим в терминале Windows команду:

Дальше вас спросят следующие данные:

Куда сохранять эти ключи, обычно меняют путь, который предлагается по умолчанию(если хотите оставить путь по умолчанию, просто нажмите Enter)

Дальше, в случае, если вы уже генерировали ключи, спросят хотите ли вы их перезаписать

Потом попросят ввести фразу и повторить ее. Это нужно для дополнительной защите, это фразу вы будете вводить каждый раз при подключение по SSH, чтобы не вводить ее, нужно просто нажать Enter ничего не вводя.

Все ключ сгенерирован, дальше то с чем у меня по началу возникали проблемы. А именно, для клиента OpenSSH Windows нет команды sshcopyid, благодаря которой происходила отправка ключа на сервер в WIndows. Я лично использовал для этих целей команду scp.

Теперь, что нужно, чтобы ее использовать, если в случае команды sshcopyid она автоматически создавала все нужные файлы на сервере, то сейчас нам придется создать их вручную. Для этого заходим на сервер и вводим следующую команду:

То есть создаем папку .ssh(если она еще не создана)


Теперь выполним следующую команду:

Посмотрим, что здесь что:

-P - стоит заметить, что P - большая, это важно, тут мы вводим порт.

Дальше идет адрес публичного ключа в Windows(где его взять см. выше)

Но это отнюдь не все, если вспомнить, то когда мы настраивали sshdconfig, то мы как раз таки указывали какие файлы у нас отвечают за ключ, а именно

/.ssh/authorizedkeys, то есть нам надо переименовать файл. Переходим на сервер и вводим следующие команды:

Все готово. Пробуем войти и радуемся.

Настройка БД

Ну перейдем к тому, для чего все это и было затеяно. В качестве БД у меня PostgreSQL.

Когда база данных создана, хотелось бы подключится к ней с другого компьютера, для этого настроим конфигурационные файлы postgresql.conf и pg_hba.conf. Для их редактирования выполним команды:

В первом файле нужно отредактировать следующие параметры:

listen_addresses = 'localhost' поменять на listen_addresses = '*' и для безопасности изменить порт по умолчанию(5432).


Во втором файле необходимо изменить следующую строку(см. картинку)


А именно адрес в ней, в моем случае у меня адрес компьютера статический и я могу записать его сюда. Вы так же можете сделать его статическим(см. статью про открытие портов, там до переадресации делали адрес сервера статическим). То есть здесь мы указываем адреса, который могут подключится к базе данных, в случае, если такой не один, просто копируем всю строку и меняем адрес на новый. После этого перезагружаем сервер postgresql. Выполним команду:


То есть тут мы запрашиваем у сервера его версию, получаем следующий ответ:


Как видно сервер вернул ответ с версией, а значит все настроено верно.

Ну на этом все. Как я и сказал, я в Linux полный новичок, так что если есть какие-либо советы я только рад. Это статья служит скорее как шпаргалка мне, так как мне это и правда был интересный опыт и я бы хотел запечатлить его в виде такой вот статьи. Спасибо всем за внимание.

SSH - это основной протокол для удаленного управления серверами на базе операционной системы Linux. Все действия при подключении к SSH выполняются в командной строке, но при достаточном уровне знаний и привилегий в системе там можно сделать практически все что угодно, в отличие от того же FTP где можно только передавать и редактировать файлы.

Если вы покупаете VPS сервер или продвинутый хостинг, обычно в письме вместе с другими данными авторизации есть данные доступа по SSH. В этой статье мы рассмотрим как подключиться по SSH к серверу из Linux или Windows.

Что такое SSH?

Поскольку эта статья рассчитана именно на новичков, то перед тем, как перейти дальше давайте подробнее разберемся что из себя представляет SSH. Исторически так сложилось что на большинстве серверов используется операционная система Linux, во многом этому посодействовала ее бесплатность. Графический интерфейс на серверах Linux не используется для экономии ресурсов, поэтому единственным способом администрирования сервера остается командная строка.

Но это не является недостатком, потому что в командной строке Linux можно сделать больше чем графическом интерфейсе. Протокол SSH позволяет вам выполнять команды в удаленной системе так, как будто вы это делаете в своей системе. Вам доступен буфер обмена, вы вводите команды и можете использовать их вывод. Недоступны разве что файлы из вашей файловой системы. Например, когда вы подключитесь к серверу по SSH из Ubuntu, то все будет выглядеть так, как будто вы открыли терминал в своей системе.

Как подключиться по SSH

Для подключения по SSH нам необходимо знать такие данные:

  • ip адрес сервера, к которому мы собираемся подключится;
  • порт, на котором ожидает подключения SSH сервер, по умолчанию используется 22, но в целях безопасности порт подключения ssh часто изменяют;
  • имя и пароль пользователя на удаленном сервере.

Больше ничего не нужно, обычно эти данные присылают в письме вместе с описанием VPS. Теперь перейдем к практике.

1. Подключение через SSH в Linux

В Linux подключение по SSH выполняется с помощью утилиты ssh. Мы более подробно рассматривали работу с ней в статье как пользоваться ssh. Для подключения к удаленному компьютеру ее синтаксис будет выглядеть следующим образом:

$ ssh имя_пользователя @ айпи_адрес

Это самый простой вариант, если вам также нужно задать порт, используйте опцию -p:

$ ssh имя_пользователя @ айпи_адрес -p порт

Чтобы выполнить подключение по SSH Linux нажмите Ctrl+Alt+T для открытия терминала и наберите команду, заменив нужные значения:

Или, с нестандартным портом:

ssh sergiy@192.168.1.2 -p 2223

Если ip_адрес и порт правильные, то на следующем шаге программа попросит у вас ввести пароль:


Если пытаетесь подключится через SSH к этому серверу первый раз, то утилита также попросит подтвердить добавление нового устройства в свой список известных устройств, здесь нужно набрать yes и нажать Enter:


Теперь вы подключены, и все вводимые далее команды будут выполнены на удаленном сервере:


Если же произошла ошибка и IP адрес или порт введены неверно, то вы получите ошибку Connection Refused:


Просто убедитесь что порт введен верно. Если это ваш сервер, то, возможно на нем еще нужно разрешить подключение SSH в брандмауэре. В Ubuntu/Debian для этого на удаленном сервере выполните:

sudo ufw allow 22/tcp

А в CentOS/Fedora:

firewall-cmd --permanent --zone=public --add-port=22/tcp

Если вы используете другой порт для SSH, то замените 22 на свой порт. Для удобства подключения по SSH в дальнейшем можно настроить авторизацию по ключу ssh, чтобы не вводить каждый раз пароль.

Теперь вы знаете как подключиться по ssh linux и решить проблемы с подключением. А теперь перейдем к Windows.

2. Подключение через SSH в Windows

Раньше подключение по SSH из Windows выполнялось только с помощью сторонних утилит, например PuTTY. Но в Windows 10 был добавлен встроенный OpenSSH клиент и работает он точно так же, как и в Linux. По умолчанию этот компонент не активирован. Для его установки откройте Параметры -> Приложения:



Затем выберите Управление дополнительными компонентами:


Здесь нажмите добавить новый компонент и в открывлемся меню выберите OpenSSH Client и нажмите Устанвоить:


Дальше вернитесь назад и дождитесь завершения установки. После того, как SSH клиент будет установлен нужно обязательно перезагрузить компьютер.


После перезагрузки нажмите Win+R чтобы открыть окно запуска команд и наберите в нем cmd:


Далее нажмите Enter. Перед вами откроется командная строка Windows. Здесь можно использовать утилиту ssh. Синтаксис у нее абсолютно такой же, как и для Linux:

ssh имя_пользователя @ айпи_адрес -p порт

Например, такой командой можно подключится по SSH к Raspberry Pi, который находится в вашей локальной сети по адресу 192.168.1.5:

Утилита предложит добавить устройство в список известных:

Затем предложит ввести пароль:


Все следующие команды будут выполняться уже на Raspberry Pi или другой удаленной машине, к которой вы подключились.


Теперь подключиться к серверу по ssh из этой операционной системы также просто как и из Linux.

Выводы

В этой статье мы рассмотрели как выполняется подключение к серверу по SSH из Linux или Windows. Как видите, это очень просто. А дальше, для работы с удаленным сервером вам понадобятся команды терминала Linux.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Как подключиться к Ubuntu из Windows с помощью RDP, SSH и VNC

Безлимитные тарифы интернета с высокой скоростью соединения упростили администрирование компьютеров. Сегодня все чаще помощь пользователям оказывается удаленно. Это удобно, ведь не надо тратить время на поездки и возможность подключиться есть практически круглосуточно.

Сегодня поговорим об удаленном подключении к Ubuntu из ОС Windows.

Зачем удаленно подключаться из Windows к Ubuntu

Не так важно, где находится удаленный компьютер – в соседней комнате или в другом регионе. Интернет убирает подобные ограничения, главное – чтобы связь оставалась стабильной на все время настройки. Это одинаково относится к машинам, работающим хоть на операционной системе Windows, хоть на Ubuntu. Последние используются, например, для развертывания сервера CS или Minecraft.

Причины, по которым требуется удаленное подключение:

  1. ручной запуск обновлений на компьютере с Ubuntu;
  2. настройка системы без подключения локального монитора, клавиатуры;
  3. работа с машиной, расположенной по другому адресу.

Пользователю доступно три варианта коннекта с компьютеров, работающих на ОС Windows. Выбор зависит от удобства и предпочтений: SSH через приложение PuTTY, встроенная поддержка RDP и виртуальная сеть VNC (понадобится предварительная настройка клиента). В любом случае перед работами понадобится выяснить IP-адрес компьютера, к которому предстоит подключаться.

Как выяснить IP-адрес компьютера с установленной ОС Ubuntu

Если есть физический доступ к компьютеру с установленной Ubuntu, на нем открывается терминал (комбинация клавиш Ctrl+Alt+T) и вводится команда ifconfig. В отображенном перечне данных имеет значение строка, начинающаяся с inet addr. Если используется подключение через Wi-Fi, то рядом будет его маркер в виде «wlan0». При проводном соединении фраза будет заменена на «eth0». Рядом отображается актуальный IP-адрес машины.

Второй способ заключается в применении функций графического интерфейса. Последовательность действий: найти значок подключения на панели, кликнуть правой кнопкой мышки, выбрать пункт «Сведения о подключении». Там и указан постоянный IP-адрес компьютера. Если доступа к нему нет, то можно выяснить данные через маршрутизатор. В панели управления отображаются активные пользователи вместе с их «контактами».

Подключение к Linux через SSH

Перед подключением на компьютер с Windows устанавливается приложение PuTTY. Это популярный инструмент для организации SSH-соединения, которое предоставит удаленный доступ к командной строке Ubuntu. Важно понимать, что этот режим требует определенного опыта в управлении, ведь здесь нет привычной мыши и «окошек», а все команды передаются в текстовом виде. Отчеты предоставляются в таком же виде.

Putty

По умолчанию возможность коннекта через SSH в Ubuntu отключена. Так что предварительно эту систему требуется настроить. Активация функции выполняется вводом команды sudo apt install openssh-server (в той же консоли, где ранее был взят IP-адрес). Логин и пароль подключения будут те же, что используются при входе в операционную систему.

Из-за неудобства управления в текстовой среде этот вариант востребован для удаленной активации более удобных инструментов. Например, тех же протоколов RDP или VNC. В них также пригодится IP-адрес, поэтому получить минимальные навыки работы в консоли все равно рекомендуется. Это упростит решаемые задачи, если по каким-то причинам не удается соединение в других режимах.

Подключение из Windows через RDP

Способ подключения через службу Remote Desktop Protocol (RDP) распространен при работе с машинами на платформе Windows. Популярность инструмента объясняется просто – его поддержка встроена во все виды и версии операционных систем. Все, что понадобится для подключения, уже известно: это IP-адрес, логин и пароль от Ubuntu. Запускается утилита через поиск, называется она «Подключение к рабочему столу».

RDP

На компьютере-клиенте требуется установка приложения xrdp.

  1. Необходимо открыть окно термина нажатием комбинации клавиш Ctrl+Alt+T.
  2. Ввести текстовую команду sudo apt install xrdp и нажать «Ввод».
  3. Провести активацию программы командой sudo systemctl enable xrdp.

После установки надо ввести на компьютере-сервере данные доступа и нажать кнопку «Подключить». Если поставить галочку «Разрешить мне сохранять учетные данные», последующие входы будут выполняться без дополнительных вопросов. Но в первый раз пароль всегда вводится вручную. При желании создается отдельный конфигурационный файл (востребовано, когда много компьютеров с удаленным управлением).

После подключения пользователь видит рабочий стол компьютера на Ubuntu. Работа с его окнами не отличается от локального управления – функционируют все настроенные горячие клавиши, перетаскивание мышью. В некоторых версиях Ubuntu, например, 18.04 LTS, RDP не работает, пока не выйдешь из текущего пользователя. Подобные фишки обычно известны системным администраторам.

Подключение через VNC

Есть другой вариант удаленного рабочего стола – сеть Virtual Network Computing (VNC). Она тоже требует предварительной настройки обеих машин. Так, на компьютер с Ubuntu инсталлируется ПО, открывающее доступ к управлению.

  1. Открыть окно терминала.
  2. Ввести команду sudo apt update.
  3. Установить сервер: sudo apt install tightvncserver.
  4. Активировать его: sudo tightvncserver.

Система предложит ввести пароль для подключения. Он понадобится при активации удаленного соединения, поэтому стоит записать (запомнить) внесенные данные.

На этом все! TightVNC Server готов к работе, остается следом настроить компьютер на Windows. Программа доступна на официальном сайте разработчика в двух версиях: 32 и 64-бит.

VNC

После инсталляции и запуска достаточно ввести IP-адрес хоста и пароль доступа, введенный после активации сервера на Ubuntu. Схема работы VNC аналогична предыдущему примеру: пользователь видит перед собой удаленный рабочий стол и управляет функциями операционной системы, как будто сидит за компьютером локально.

Как настроить удаленный доступ к Ubuntu из Windows

Представьте, вы находитесь в одной комнате, сидя перед компьютером с Windows; данные, которые вам нужны, находятся в другой, на компьютере под управлением Ubuntu. Если оба компьютера находятся в одном доме, нет проблем; но что, если они находятся в одном офисном блоке?

Зачем удаленно подключаться к Ubuntu из Windows?

Существует несколько причин, по которым вам может понадобиться удаленное подключение к компьютеру Ubuntu. Возможно, вы находитесь на работе и должны войти в свой домашний компьютер. Кроме того, у вас может быть компьютер Ubuntu в одной комнате, компьютер Windows в другой, и желание запускать обновления на Ubuntu.


В качестве альтернативы, возможно, вы используете сервер Ubuntu. Возможно, вы настроили его для управления запуском такой игры, как Counter-Strike или Minecraft. В любом случае, настройка удаленного подключения сэкономит много времени и сил.

У вас есть два варианта установки удаленного соединения с компьютером Ubuntu: вы можете использовать Remote Desktop (RDP) или Virtual Network Computing (VNC).

Давайте рассмотрим каждый метод по очереди.

Узнайте IP-адрес вашего ПК Ubuntu

Прежде чем установить соединение с устройством Ubuntu, необходимо знать IP-адрес.

Первый способ самый простой. Физически подойдите к устройству Ubuntu, нажмите Ctrl + Alt + T, чтобы открыть терминал, и введите команду:

Ищите "inet addr" напротив соединения, которое вы в данный момент используете. Например, если вы пользуетесь Wi-Fi, ищите wlan0. Если компьютер подключен к сети для Ethernet, ищите eth0.

Другой способ найти IP-адрес - найти значок подключения на панели, щелкнуть правой кнопкой мыши и выбрать Сведения о подключении. Здесь вы найдете IP-адрес.

Ни один из этих вариантов не можете открыть? Вы также можете подключиться к маршрутизатору напрямую, через браузер вашего компьютера.

После входа в консоль администрирования маршрутизатора, вы сможете увидеть, какие устройства подключены. Просто найдите имя своего устройства Ubuntu, найдите IP-адрес и запишите его.

1. Подключение по SSH

Перед началом работы, возможно, вы захотите установить PuTTY на ваш компьютер (или просто попробовать встроенную функцию Windows SSH). Это позволит вам установить SSH-соединение, которое дает удаленный доступ к командной строке Ubuntu.

Короче говоря, это зависит от того, какую версию Ubuntu вы используете и использовали ли вы SSH ранее.

После установки через терминал (sudo apt install openssh-server) вы сможете установить удаленное соединение (просто используя IP-адрес и имя пользователя и пароль Ubuntu) и использовать терминал для установки необходимых инструментов для RDP и для VNC.

2. Удаленный доступ с помощью протокола удаленного рабочего стола

Самым простым вариантом является использование протокола Remote Desktop Protocol или RDP. Встроенный в Windows, этот инструмент можно использовать для создания подключения к удаленному рабочему столу в вашей домашней сети. Все, что вам нужно, это IP-адрес устройства Ubuntu.


В то время как необходимое программное обеспечение предустановлено на Windows, вам нужно будет установить инструмент xrdp на Ubuntu. Для этого откройте окно терминала (Ctrl + Alt + T) и введите:

Подождите, пока он установится, затем запустите приложение Remote Desktop в Windows с помощью меню "Пуск" или "Поиск". Введите rdp и нажмите на Remote Desktop Connection (Подключение к удаленному рабочему столу). Когда приложение будет открыто, введите IP-адрес в поле Компьютер.

Затем нажмите кнопку Показать опции и добавьте имя пользователя для Ubuntu PC. Вы можете нажать Сохранить, чтобы сохранить эти настройки для повторного использования в следующий раз.

Устранение проблем с RDP

Хотя RDP является отличным вариантом для удаленного подключения к компьютеру Ubuntu, с приходом Ubuntu 18.04 LTS, такой способ менее надежен. Похоже, что существует проблема с установлением удаленного соединения, когда в учетной записи уже выполнен вход на машине Ubuntu.

Таким образом, простой способ обойти это - просто выйти из пользователя.

Если это невозможно, попробуйте переключить RDP-соединение с использования сервера Xorg на использование X11rdp, подождите, пока это не сработает, а затем снова попробуйте Xorg.

Вы также можете попытаться установить соединение после перезагрузки машины с Linux.

3. Удаленный доступ с помощью виртуальной сети (VNC)

Другой вариант с полной функциональностью удаленного рабочего стола - VNC (Virtual Network Computing). Для этого требуется клиентское приложение на ПК с Windows и сервер на Ubuntu.

На удаленном ПК установите компонент TightVNC Server после проверки обновлений:

На этом этапе вам будет предложено установить пароль для подключения. Вам также будет присвоен номер рабочего стола, обычно :1. Запишите это.


Инструменты TightVNC доступны только в комплекте, поэтому после установки ищите TightVNC Viewer в поиске Windows.

После запуска просмотрщика введите IP-адрес Ubuntu в хост, а затем номер рабочего стола. Это может выглядеть следующим образом:

Введите пароль при запросе и начните работу на удаленном рабочем столе!

Делаем TightVNC более безопасным

По умолчанию TightVNC зашифрует ваш пароль, но больше ничего. Это делает его небезопасным для подключений через интернет. К счастью, его можно сделать более безопасным, благодаря SSH и Xming.

Для этого скачайте и установите инструмент Xming для Windows из Sourceforge. После этого найдите ярлык рабочего стола, щелкните правой кнопкой мыши и выберите Properties (Свойства).


Ищите вкладку Shortcut, а в поле Target введите следующее:

Установите флажок Включить переадреcацию X11, затем вернитесь к сеансу (Session) в верхней части меню.


Введите IP-адрес удаленного устройства и нажмите кнопку Открыть. Через несколько секунд будет доступно защищенное соединение с удаленным рабочим столом Ubuntu.

Выбор правильного решения для удаленного доступа

Как вы используете эти методы, зависит от того, что вы хотите получить от вашего удаленного рабочего стола.

Доступны три основных варианта:

  • RDP: Он использует протокол Windows Remote Desktop Protocol, через реализацию xrdp с открытым исходным кодом.
  • VNC: Виртуальные сетевые вычисления являются альтернативой RDP, но менее безопасны.
  • VNC через SSH: смешивание VNC с SSH повышает безопасность соединения.

Вы также можете использовать SSH для управления терминалом на вашем компьютере Ubuntu.

Мы показали вам три способа установить удаленное соединение с вашим компьютером Ubuntu или сервером из Windows. Каждый из них имеет свои преимущества и недостатки. Но если вы просто хотите быстро окунуться в Ubuntu, почему бы не попробовать подсистему Windows для Linux, доступную в Windows 10?

В данной статье будет описано как организовать удаленный доступ к машине под Ubuntu с машины под Windows при этом будут использоваться такие утилиты как SSH, Putty, Tight VNC и Vino. Общий принцип работы: с компьютера под Windows создается защищенный SSH-туннель до Ubuntu и через него создается VNC-подключение (удаленный рабочий стол).

Статья делится на четыре части:

    Установка и активация SecureShellServer:

Проверка открытости 22 порта (порт, используемый по умолчанию SSH):

В Linux ля подключения по SSH с использованием локального проброса портов (local port forwarding) используется в общем виде следующая команда

Это означает, что любое соединение, исходящее из локального компьютера (localhost) через порт <локальный_порт> будет перенаправлено по SSH-тунелю на <удаленный_порт> удаленной машины.

Существует некоторая путаница относительно какие же IP указывать в <ip-адрес_машины> и <адрес_машины>. Если компьютер находится за роутером (NAT’ом) то <адрес_машины> должен быть внутренним ip-адресом компьютера (например, 10.0.0.5), а в <ip-адрес_машины> внешним ip-адресом роутера. Если компьютер подключается к Интернету напрямую, то адреса <ip-адрес_машины> и <адрес_машины> будут одинаковыми.

Подводя итог про туннелирование рассмотрим пример:

Усиленная защита при использовании SSH-туннеля достигается за счет того, что только один порт должен быть открыт наружу (SSH) и зашифрованное подключение будет идти только через этот порт.
На сервере проверяем присутствует ли папка

в ней, если нет, то создаем под пользователем <имя_пользователся>(как правило, это первый пользователь в системе или администратор)

Настраиваем ssh для большей безопасности. Файл настроек лежит по адресу

Делаем резервную копию

В общем случае следует изменить:

  • TCP-порт прослушивания (по умолчанию 22):
    Port <Порт_на_котором_SSH_будет_ждать_подключения>
  • Отключить ненадежный старый протокол SSH ver.1:
    Protocol 2
  • Разрешить аутентификацию парой открытого/закрытого ключей:
    PubkeyAuthentication yes
  • Указывать, где смотреть на разрешенные публичные ключи:
    AuthorizedKeysFile %h/.ssh/authorized_keys
  • Отключить возможность аутентификации с помощью пароля (можно сделать и позже, после удачного первого соединения):
    PasswordAuthentication no

Для большей безопасности следует настроить на аутентификацию SSH с помощью открытого ключа.
Разрешенные к подключению по ssh публичные ключи хранятся в файле

Генерируем пару открытый/закрытый ключей на машине, с которой будем подключаться (будет описано далее) и копируем открытый ключ в этот файл.

Настраиваем правильный доступ к файлу с ключами

В файле настроек /etc/ssh/sshd_config изменяем

Для применения настроек, внесенных в файл /etc/ssh/sshd_config, необходимо перезапустить демон sshd.

Перед тем как погрузиться в настройки Putty необходимо сделать несколько замечаний.

  • Putty сохраняет настройки в профили.
  • Для сохранения всех настроек в профиль нужно перейти в меню Session в графе Saved Session ввести имя профиля и нажать Save. Для того чтобы загрузить определенный профиль в Putty в том же меню нужно выбрать нужный профиль по имени и нажать Load.
  • Для автоматической загрузки определенного профиля при запуске Putty нужно создать ярлык на exe-файл и в строке Рабочая папка дописать после пути к exe файлу добавить
    -load <имя_профиля>


Для улучшения безопасности будет использоваться:

  • локальный проброс портов
  • система с открытым ключом

В случае использования SSH-подключения для доступа по VNC (удаленному рабочему столу) необходимо настроить проброс портов, так называемый local port forwarding. Он используется для повышения безопасности, так как при использовании VNC данные передаются в открытом виде.

Для проброса портов в Putty переходим в меню Connection -> SSH -> Tunnels и добавляем 5900 как "Source port", localhost:5900 в "Destination" и нажимаем Add.


Для создания пары открытого/закрытого ключей можно использовать программу Puttygen. Скачиваем Puttygen.exe. В параметрах выбираем SSH-2 RSA, количество битов устанавливаем 2048 и нажимаем кнопку Generate.


Для дополнительной защиты можно дважды прописать "passphrase". Если есть необходимость при SSH-соединении сразу входить в консоль, то поле можно оставить пустым.

Далее нажать Save public key – для сохранения открытого ключа (*.pub) и Save private key для сохранения закрытого ключа (*.ppk).

Открытый ключ сохраняется в понятном только Putty форматировании. Поэтому для установки его в Linux нужно сделать следующее:

Читайте также: