Chastniimastertver.ru

Ремонт бытовой техники
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Подключение к графической подсистеме Linux Ubuntu по локальной сети

Подключение к графической подсистеме Linux Ubuntu по локальной сети.

Для удаленного подключения к графической подсистеме Linux из Windows используются два основных способа:

— перенаправление графического ввода-вывода из среды Linux на графический сервер , работающий на стороне Windows ( X11 Forwarding )

— подключение с использованием X Display Manager Control Protocol (XDMCP) — протокола, обеспечивающего удаленное подключение графических терминалов (X-терминалов) к графическому серверу (X-серверу).

Первый способ проще реализуется и позволяет получить приемлемое быстродействие графических приложений на системах с малой производительностью. Менеджер дисплея и TCP-соединения X-сервера на стороне Linux в данном случае не используются. Второй – позволяет получить полноценное удаленное рабочее место пользователя, функционально ничем не отличающееся от обычного, локального. При реализации данного вида удаленного подключения используются дополнительные настройки конфигурации для X-сервера и менеджера дисплея.

Подключение из Windows к графической подсистеме Linux на примере Ubuntu Desktop .

Способы и средства удаленного подключения к графической подсистеме Linux из Windows уже рассматривались подробно в статье Подключение из Windows к графической подсистеме Mandriva Linux. В данной же статье рассматриваются вопросы, связанные с особенностями настройки X-сервера Ubuntu и менеджера дисплея LightDM. На стороне Windows используется бесплатный пакет Xming, последнюю версию которого, а также дополнительные пакеты с поддержкой различных шрифтов, и локализованную версию мастера Xlaunch найдете здесь:

Удаленная работа с графическими приложениями при использовании X11 Forwarding.

Перенаправление графического вывода удаленной подсистемы ( X11 Forwarding ) позволяет работать напрямую с графическими приложениями среды Linux на компьютере с графическим сервером Xming на стороне Windows. Данный режим реализуется с помощью SSH-подключения, в котором ssh-сервер sshd на стороне Linux перехватывает графический ввод-вывод и перенаправляет его ssh-клиенту ( PuTTY ) на стороне Windows, который в свою очередь , перенаправляет его графическому серверу Xming , развернутому в среде Windows. Таким образом, для реализации данного режима не требуется настройка X-сервера и менеджера дисплея для работы по сети, но требуется установка и настройка демона ssh на стороне Linux. В большинстве дистрибутивов Linux для рабочих станций (например, Ubuntu Desktop), сервер SSH по умолчанию, не устанавливается, поэтому его нужно установить командой :

sudo apt-get install ssh

В процессе выполнения команды будет выдано сообщение об устанавливаемых пакетах и объеме занимаемого ими пространства на жестком диске:

… ncurses-term openssh-server python-requests python-urllib3 ssh-import-id, rssh molly-guard monkeysphere openssh-blacklist openssh-blacklist-extra ) НОВЫЕ пакеты, которые будут установлены: ncurses-term openssh-server python-requests python-urllib3 ssh ssh-import-id обновлено 0, установлено 6 новых пакетов, для удаления отмечено 0 пакетов, и 273 пакетов не обновлено. Необходимо скачать 848 kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 3 480 kB. Хотите продолжить [Д/н]? После ответа Д будет установлен и запущен сервер SSH

Для проверки работоспособности ssh-сервера можно воспользоваться командой:

netstat -na | more

Строка Означает, что сервер ожидает входящие соединения ( “слушает”, LISTEN ) стандартный порт 22 на всех сетевых интерфейсах (0 0.0.0.0:22 )

Для режима перенаправления графического вывода X11 forwarding в настройках демона sshd необходимо включить ( проверить ) некоторые параметры. Все действия требуют права root.

Переходим в каталог /etc/ssh и открываем конфигурационный файл демона SSH sshd_config . Для работы через X11 Forwarding в нем должна присутствовать незакомментированная строка

X11Forwarding yes

Естественно, в данном режиме, работа с удаленной графической подсистемой Linux, выполняется напрямую с графическими приложениями, без использования рабочего стола Ubuntu. Если количество нужных для работы приложений невелико, то такой способ предпочтительнее, поскольку позволяет снизить степень использования ресурсов удаленной системы и позволяет получить более высокое быстродействие, по сравнению с технологией, основанной на использовании XDMCP. Таким образом, при перенаправлении графического вывода, ( X11 forwarding )программа Xming, используется в качестве X-сервера, работающего поверх вашего рабочего стола Windows, с запускаемыми на удаленной системе с ОС Linux графическими приложениями. При этом, графический сервер на удаленном Linux не используется и может быть даже не установлен.

Кроме Xming, в данной технологии используются клиент и сервер SSH. Клиентская часть — на компьютере с ОС Windows, сервер — на компьютере с Linux. Разработчики Xming с некоторых пор, включили клиентское программное обеспечение для реализации режима X11 Forwarding в состав инсталляционных пакетов (Standart PuTTY и Portable PuTTY).

Выбор варианта инсталляции Xming

При установке пакета Xming имеется возможность выбрать устанавливаемые версии PuTTY.

Однако, лучшим выбором будет скачать актуальную версию бесплатного SSH — клиента для Windows на странице загрузки PuTTY, где размещены ссылки для скачивания файлов утилиты putty.exe и дополнительных программных модулей, которые могут использоваться для работы с ней (копирование файлов, генерация ключей, телнет-клиент и т.п.). Имеется также ссылка для скачивания архива, включающего putty.exe и дополнительных программ для 32-х и 64-х разрядных ОС. Инсталляция не требуется. Просто скопируйте исполняемый файл putty.exe в каталог с установленным Xming, или любой другой, по вашему выбору.

PuTTY для X11 forwarding

Данные настройки означают, что разрешено X11 Forwarding и для него будет использоваться графический дисплей (X-дисплей) с номером 0 . Использовать 0-й номер дисплея не обязательно, но важно, чтобы этот номер совпадал с номером дисплея, указанном при запуске Xming ( поле Display number ):

Xming - X11 forwarding

При запуске Xming , с помощью мастера Xlaunch , задается номер дисплея (при необходимости) и выбирается многооконный режим Multiple windows , остальные параметры можно оставить по умолчанию. Фактически, номер дисплея определяет номер порта графического сервера на стороне Windows

Читайте так же:
Техника безопасности при эксплуатации электросварочных установок

– 0 соответствует порту 6000/TCP

Как уже рассматривалось выше, настройки X11 Forwarding в секции SSH/X11 PuTTY, также определяют X-сервер, на который будет перенаправляться графический ввод-вывод:

localhost:0 — X-сервер, слушающий порт 6000/TCP

localhost:1 — X-сервер, слушающий порт 6001/TCP

Соответственно, если на одном и том же компьютере запускается несколько X-серверов Xming, то номера графических дисплеев для них должны быть разными и соответствовать номерам, задаваемым в настройках клиента SSH. Для проверки подключенных графических подсистем можно воспользоваться командой отправки сообщения графическому дисплею

xmessage $DISPLAY — отобразить значение переменной DISPLAY

В результате выполнения команды получим:

xmessage – вывод значения переменной DISPLAY

Данное сообщение отображается на том графическом дисплее, которому соответствует перенаправление графического вывода SSH-клиента, в окне которого выполнялась команда xmessage

После того, как Xming стартовал, с помощью ssh-клиента PuTTY подключаемся к ssh-серверу Linux Ubuntu, и в командной строке запускаем нужное графическое приложение, Например, если запустить графический терминал xterm , то на компьютере с Windows появляется окно графического терминала Linux.

Xterm на компьютере с Windows через X11 forwarding

При запуске из сессии SSH-клиента PuTTY, или из окна уже запущенного терминала xterm , какого-либо графического приложения, например, обозревателя firefox на рабочем столе Windows отобразится его окно, в котором можно работать точно так же, как и на локальном компьютере с Linux Ubuntu.

Удаленное подключение к графической подсистеме из Linux .

Настройки демона sshd для удаленного доступа к графической подсистеме Linux выполняются точно так же, как и в случае перенаправления для X-сервера на стороне Windows. Графический вывод удаленной системы, в данной конфигурации, будет перенаправляться демоном sshd и разворачиваться графическим сервером на стороне подключившегося клиента.

Для удаленного подключения к графической подсистеме с использованием перенаправления X11 Forwarding клиентов Linux-систем, можно воспользоваться стандартным SSH-клиентом:

ssh -X -l user 192.168.0.1

-X — использовать перенаправление графического вывода X11Forwarding.

-l user — имя пользователя для подключения к удаленному компьютеру.

192.168.0.1 — адрес удаленного компьютера

После регистрации в удаленной системе, пользователь user имеет возможность работать с графическими приложениями на удаленном компьютере 192.168.0.1

Для запуска конкретного приложения на удаленной системе, можно указать его имя:

ssh -X -l user 192.168.0.1 ‘xterm’

После авторизации, на локальном дисплее отобразится окно терминала xterm удаленного компьютера под управлением Linux.

По соображениям безопасности, вместо параметра ssh -X желательно использовать параметр -Y , предотвращающий возможность взаимодействия удаленного клиента с локальным графическим дисплеем системы, к которой выполняется подключение.

Подключение к рабочему столу Linux Ubuntu с использованием XDMCP.

Менеджер дисплея ( Display Manager или DM ) — это специальная системная служба обеспечивающая запуск графического сервера, вывод на графический дисплей приглашения на вход в систему, регистрацию пользователей, запуск оконных менеджеров, монтирование необходимых устройств, ведение баз данных входов и выходов пользователей в системе utmp и wtmp и т.п.

А если упрощенно — то менеджер дисплея — это программа, с которой начинается сеанс работы пользователя в графическом окружением Linux. Визуально, менеджер дисплея представляет собой окно регистрации пользователя при входе в систему. Обычно под этим подразумевается форма для ввода логина и пароля, меню для выбора графической среды, и дополнительные элементы управления питанием (для выключения компьютера, перезагрузки, перевода в спящий режим), выбора языка ввода, и т.п.

В настоящий момент в графической подсистеме Linux (обозначаемой как X Window System или как X11 ) наиболее распространенными менеджерами дисплеев являются X Display Manager (xdm) , Gnome Display Manager (gdm) и KDE Display Manager (kdm) и с 2012 года — Light Display Manager ( LghtDM ) . Разработка последнего начата в 2010 г. сотрудником компании Canonical Робертом Энцеллом (Robert Ancell) и в настоящее время LiightDM является вполне достойной альтернативой менеджерам дисплея предыдущего поколения. Главными его особенностями являются небольшой размер, высокое быстродействие, возможность работы с любой графической оболочкой и расширение функциональных возможностей с помощью плагинов. В перспективе, проект LightDM задается довольно амбициозной, но все же, реальной целью — стать стандартом для Х-сервера Linux X.org — сервера X Window System с открытым исходным кодом. С 2012 года, LightDM стал использоваться в качестве менеджера дисплеев по умолчанию во всех дистрибутивах Linux Ubuntu.

Особенности настроек безопасности в Linux Ubuntu Desktop последних версий не предусматривают возможности удаленного подключения к графической среде по локальной сети – сервер X11 не слушает порт 6000/TCP и менеджер LightDM не слушает порт 177/UDP. Поэтому, в первую очередь нужно выполнить соответствующие настройки, обеспечивающие возможность сетевого подключения по протоколу XDMCP.

Все файлы конфигурации менеджера дисплея LightDM размещаются в системном каталоге /etc/lightdm . Основные настройки — это lightdm.conf, который после инсталляции имеет следующее содержание:

Для разрешения TCP-подключений к графическому серверу X11 , нужно в файл конфигурации lightdm.conf добавить строку :

Для разрешения удаленных подключений к менеджеру дисплея нужно добавить секцию

Внесенные изменения вступят в силу только после перезапуска менеджера дисплея или перезагрузки системы. Для перезапуска LightDM можно воспользоваться командой:

service lightdm restart

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

После перезапуска графической подсистемы или перезагрузки Ubuntu, можно проверить, слушаются ли порты 6000/TCP и 177/UDP:

netstat –na | more

В результате, видим, что менеджер дисплея ( LightDM ) настроен на использование протокола XDMCP и принимает входящие подключения на UDP порт 177 (по умолчанию) , а графический сервер (сервер X11 ) – принимает входящие подключения на порт 6000/TCP. Вообще-то, сетевой доступ к графическому серверу на стороне Linux для случая с применением Xming на стороне Windows не потребуется, и настройка для порта 6000/TCP приведена лишь в качестве примера.

Читайте так же:
Установки алмазного бурения техника безопасности

Для удаленного подключения к рабочему столу Linux по протоколу XDMCP используется порт 177/UDP, который должен слушаться на стороне Linux и не должен быть закрыть брандмауэром. Кроме того, на компьютерах с несколькими сетевыми интерфейсами возможны проблемы с удаленным подключением, вызванные нестыковкой IP-адресов и имен узлов. Поэтому, в файлах /etc/hosts ( Ubuntu ) и windowssystem32driversetchosts ( Windows ) нужно прописать соответствие имен и IP-адресов компьютеров для того сетевого интерфейса, через который будет выполняться подключение ( например, только для подсети 192.168.0.0/24). Очень часто в среде Linux, после установки системы, например на компьютер с именем Ubuntu13, в файле /etc/hosts присутствуют записи :

Как видно, имени Ubuntu13 сопоставлен адрес петлевого интерфейса, и следовательно, реальный обмен данными по протоколу IP с использованием имени узла, невозможен. Чтобы устранить данную проблему, нужно в последней строке заменить 127.0.0.1 на IP-адрес компьютера в локальной сети например:

Аналогично, в системе с Windows, в файле hosts нужно оставить ( добавить) только те записи, которые задают однозначное соответствие имен и IP-адресов в одной и той же подсети.

Для подключения к удаленному Linux Ubuntu, можно воспользоваться ярлыком Xlaunch . При подключении с использованием XDMCP необходимо выбрать режим работы в одном окне ( One Window ):

Xlaunch - режим XDMCP

Выбираем сессию с использованием XDMCP:

Xlaunch - режим XDMCP

Указываем IP-адрес или имя компьютера с ОС Linux, к которому необходимо подключиться:

Xlaunch - адрес или имя удаленного Linux

Следующий экран служит для определения дополнительных параметров сессии и его пока можно оставить без изменений. Жмем кнопку «Далее» и, если все сделано правильно — перед нами приглашение менеджера дисплея Linux.

Установка и настройка SSH-сервера в Ubuntu

SSHСегодня рассмотрим, как поднять SSH-сервер в Ubuntu и подобных ей операционных системах. Обзорную статью о протоколе SSH можно прочитать по этой ссылке, в ней же приведен пример подключения по SSH через популярный клиент PuTTY. Но вернемся к SSH-серверу.

В Ubuntu и родственных дистрибутивах используется свободная реализация клиента и сервера SSH — OpenSSH. И клиент, и сервер устанавливаются общей командой:

Как правило, SSH-клиент уже установлен в системе, поэтому данная команда доустановит SSH-сервер.

Установка и настройка SSH-сервера в Ubuntu

Установка пакетов SSH-сервера.

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

Для остановки SSH-сервера используйте команду:

Настройки SSH-сервера лежат в файле /etc/ssh/sshd_config, который доступен для чтения и редактирования только суперпользователю.

Установка и настройка SSH-сервера в Ubuntu

Пример файла /etc/ssh/sshd_config.

Повышаем безопасность SSH-сервера

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

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

Если нужно задать общую настройку используемого порта, используйте директиву Port :

Если нужно задать используемый порт для каждого интерфейса в отдельности, используйте директиву ListenAddress :

Кстати, про IP-адреса. По умолчанию SSH-сервер в Ubuntu настроен на использование IPv4 и IPv6. Определяется это директивой AddressFamily .

Разрешены IPv4 и IPv6:

Разрешены только IPv4:

Разрешены только IPv6:

Следующим разумным шагом для повышения безопасности SSH-подключений будет отключение удаленного доступа для суперпользователя. По умолчанию доступ суперпользователю открыт только по ключу, а по паролю закрыт. Определяется это директивой PermitRootLogin , которая выставлена в значении prohibit-password (в OpenSSH до версии 7.0 without-password ).

Для отключения суперпользователю доступа по SSH выставьте директиву как:

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

Если же вы всё таки хотите разрешить суперпользователю доступ по SSH, директива должна выглядеть так:

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

Наверное, вы уже заметили, что в материалах про SSH упоминаются разные способы аутентификации (по логину/паролю и по ключу). Разберем оба способа подробнее.

Аутентификация через логин и пароль упрощает подключение к серверу новых пользователей, но является не слишком безопасным, поскольку пароль можно подобрать (а пользователь может задать очень простой пароль, чтобы ему его было проще запомнить). По умолчанию аутентификация по паролю включена. Отвечает за это директива PasswordAuthentication .

Аутентификация по логину/паролю разрешена:

Аутентификация по логину/паролю запрещена:

Если вы всё таки хотите использовать парольную аутентификацию, хотя бы отключите возможно зайти с пустым паролем:

Более безопасным способом подключения является аутентификация на основе SSH2 RSA-ключей. Этот способ подразумевает генерацию пользователем на своей стороне пары ключей — приватного и публичного. Публичный ключ копируется на сервер и служит для проверки идентичности пользователя.

Сам способ генерации зависит от используемого пользователем SSH-клиента. В том же PuTTY есть утилита PuTTY Key Generator (puttygen.exe), которая позволяет генерировать различные ключи, а не только RSA. О ней можете прочитать в этой статье. Но это что касается Windows.

Читайте так же:
Вакуумная и компрессорная техника физических установок специальность

Установка и настройка SSH-сервера в Ubuntu

Интерфейс PuTTY Key Generator.

В Linux сгенерировать ключи можно прямо в терминале. Для этого введите команду

Терминал выведет следующее сообщение:

Установка и настройка SSH-сервера в Ubuntu

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

Установка и настройка SSH-сервера в Ubuntu

При ответе на следующий вопрос тоже нажмите Enter.

После этого пара ключей будет создана, а на экран будет выведено сообщение следующего характера:

Установка и настройка SSH-сервера в Ubuntu

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

Ключ будет выведен в окне терминала.

Установка и настройка SSH-сервера в Ubuntu

Ну а для просмотра публичного ключа введите:

Вернемся к настройке SSH-сервера в Ubuntu. Первым делом отметим, что OpenSSH умеет работать как с протоколом SSH-1, так и с SSH-2. И оба поддерживают RSA-ключи. Но SSH-1 ныне считается небезопасным протоколом, поэтому рекомендуется использовать только SSH-2. Сделать это можно через следующую директиву:

За включение или выключение аутентификации по паре RSA-ключей отвечает директива PubkeyAuthentication . Для включения аутентификации задайте:

Кроме того, нужно указать, где будут храниться публичные ключи пользователей. Для этого используется специальный файл authorized_keys. Можно использовать общий файл для всех ключей пользователей или задать по отдельному файлу для каждого пользователя. Второй способ, естественно, является более безопасным. Задать расположение файла с ключами можно директивой AuthorizedKeysFile .

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

Если нужно задать отдельный файл для каждого пользователя, используйте:

Скорее всего, указанные файлы и каталоги не были созданы заранее в Вашей системе, создайте их и скопируйте туда публичные ключи (содержимое файла id_rsa.pub, который мы создали выше при генерации ключей) командой:

где user и server это имена пользователя и сервера соответственно.

Если вы уже изменили порт для подключения по SSH, слегка модифицируйте команду:

Естественно, вместо 2002 может быть и другой порт.

В старых версиях OpenSSH нет скрипта ssh-copy-id , поэтому можно использовать другую команду:

Если вы подключаетесь с клиентской машины с Windows, то скопировать публичный ключ на сервер можно, например, через любой FTP-клиент (SFTP-клиент).

Кстати, про SFTP. Как известно, SSH-серверы позволяют передавать файлы через SFTP. И OpenSSH тут не исключение. Для включения SFTP добавьте в файл sshd_config строку:

В конце поговорим о разграничении доступа к серверу через SSH. Допустим, сервером пользуется большое число пользователей, но далеко не всем из них нужно предоставлять доступ по SSH. Для разграничения доступа используются специальные директивы: DenyUsers , AllowUsers , DenyGroups , и AllowGroups . Проверка этих директив осуществляется именно в той последовательности, в какой они здесь перечислены. В директивах принимаются только имена пользователей и групп, UserID не распознаются.

DenyUsers — список пользователей, которым нельзя подключаться к SSH-серверу. По умолчанию не указан.

AllowUsers — список пользователей, которым можно подключаться к SSH-серверу. По умолчанию он также не указан, и это значит, что подключаться можно всем. Если занести в данный список пользователей, подключаться смогут только они. Если в списке будет один пользователь — подключаться сможет только он.

DenyGroups — список групп пользователей, которым нельзя подключаться к SSH-серверу. По умолчанию не указан.

AllowGroups — список групп пользователей, которым можно подключаться к SSH-серверу. По умолчанию не указан. Если занести в этот список группы (группу), то подключаться смогут только пользователи, входящие в эти группы (группу).

Полное руководство по настройке SSH в Ubuntu

Полное руководство по настройке SSH в Ubuntu

В наши дни SSH стал методом по умолчанию для доступа к удаленному серверу Linux.

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

В этом руководстве для начинающих вы узнаете:

  • Основная концепция SSH
  • Настройка SSH-сервера (в системе, к которой вы хотите получить удаленный доступ)
  • Подключение к удаленному серверу через SSH с клиентской машины (вашего персонального компьютера)

Основы SSH

Прежде чем вы увидите какой-либо процесс настройки, будет лучше пройти через базовую концепцию SSH.

Протокол SSH основан на архитектуре сервер-клиент. «Сервер» позволяет «клиенту» подключаться по каналу связи. Этот канал зашифрован, и обмен регулируется использованием открытых и закрытых ключей SSH.

С сайта https://www.ssh.com/academy/ssh

OpenSSH — один из самых популярных инструментов с открытым исходным кодом, который обеспечивает функциональность SSH в Linux, BSD и Windows.

Для успешной настройки SSH вам необходимо:

  • Установите компоненты сервера SSH на машине, которая действует как сервер. Это обеспечивается пакетом openssh-server.
  • Установите клиентский компонент SSH на машину, с которой вы хотите подключиться к удаленному серверу. Это обеспечивается пакетом openssh-client, и с ним предустановлено большинство дистрибутивов Linux и BSD.

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

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

Обладая этой информацией, давайте посмотрим, как настроить SSH-сервер в Ubuntu.

Настройка SSH-сервера в Ubuntu

Настроить SSH не сложно, для этого нужно всего несколько шагов:

  • Пользователь с привилегиями sudo на серверной машине
  • Подключение к Интернету для загрузки необходимых пакетов.
Читайте так же:
Гнб установки техника безопасности

Опять же, установка SSH-сервера должна выполняться в системе, которую вы хотите использовать как сервер и к которой вы хотите подключиться удаленно через SSH.

Шаг 1. Установите необходимые пакеты

Начнем с открытия окна терминала и ввода необходимых команд.

Не забудьте обновить свою систему Ubuntu перед установкой новых пакетов или программного обеспечения, чтобы убедиться, что вы используете последние версии.

Пакет, необходимый для запуска SSH-сервера, предоставляется компонентом openssh-server из OpenSSH:

Шаг 2: Проверка статуса сервера

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

Вы также можете использовать команды systemd:

Вы должны увидеть что-то подобное с выделенным словом Active. Нажмите q, чтобы вернуться в командную строку.

Если в вашем случае сервис не работает, вам нужно будет активировать его следующим образом:

Шаг 3. Разрешение SSH через брандмауэр

Ubuntu поставляется с утилитой межсетевого экрана под названием UFW (UncomplicatedFirewall), которая представляет собой интерфейс для iptables, который, в свою очередь, управляет сетевыми правилами. Если брандмауэр активен, он может помешать подключению к вашему SSH-серверу.

Чтобы настроить UFW так, чтобы он разрешал требуемый доступ, вам необходимо выполнить следующую команду:

Статус UFW можно проверить, запустив sudo ufw status.

На данном этапе наш SSH-сервер запущен и просто ожидает соединения от клиента.

Подключение к удаленной системе с вашего локального компьютера

В вашей локальной системе Linux уже должен быть установлен клиент SSH. Если нет, вы всегда можете установить его, используя следующую команду в Ubuntu:

Чтобы подключиться к вашей системе Ubuntu, вам необходимо знать IP-адрес компьютера и использовать команду ssh, например:

Измените username на своего фактического пользователя в системе и address на IP-адрес вашего сервера Ubuntu.

Если вы не знаете IP-адрес своего компьютера, вы можете ввести ip a в терминале сервера и проверить вывод. У вас должно получиться что-то вроде этого:

Использование «ip a» для поиска IP-адреса

Использование «ip a» для поиска IP-адреса

Как видно здесь, мой IP-адрес 192.168.2.54. Давайте попробуем подключиться, используя формат имя username@adress.

При первом подключении к серверу SSH он запросит разрешение на добавление хоста. Введите да и нажмите Enter, чтобы продолжить.

Первое подключение к серверу

Первое подключение к серверу

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

Хост добавлен, теперь введите пароль

Хост добавлен, теперь введите пароль

И вуаля! Вы войдете в свою систему Ubuntu удаленно!

Теперь вы можете работать в терминале удаленной системы в обычном режиме.

Закрытие SSH-соединения

Чтобы закрыть соединение, вам просто нужно ввести exit, и оно сразу же закроет его, не запрашивая подтверждения.

Закрытие соединения

Закрытие соединения

Остановка и отключение SSH в Ubuntu

Если вы хотите остановить службу SSH, вам понадобится эта команда:

Это остановит службу, пока вы ее не перезапустите или пока система не будет перезагружена. Чтобы перезапустить его, введите:

Теперь, если вы хотите отключить его запуск во время загрузки системы, используйте это:

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

Другие клиенты SSH

Инструмент ssh включен в большинство систем * nix, от Linux до macOS, но это не единственные существующие варианты, вот пара клиентов, которые можно использовать из других операционных систем:

    — это бесплатный SSH-клиент для Windows с открытым исходным кодом. Он полон функций и очень прост в использовании. Если вы подключаетесь к своей машине Ubuntu со станции Windows, PuTTY — отличный вариант. — потрясающий инструмент для пользователей Android. Если вы в пути и вам нужен мобильный клиент для подключения к вашей системе Ubuntu, я настоятельно рекомендую попробовать JuiceSSH. Он существует уже почти 10 лет, и его можно использовать бесплатно.
  • И, наконец, Termius доступен для Linux, Windows, macOS, iOS и Android. У него есть бесплатная версия, а также несколько дополнительных опций. Если у вас много серверов и вы работаете с командами, использующими общие соединения, Termius — хороший вариант для вас.

Заключение

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

Установка системы linux по ssh

Основным способом удаленного доступа к серверам под управлением операционной системы Linux является подключение по протоколу SSH. Такое соединение является безопасным, так как все передаваемые данные зашифрованы. Для того, чтобы установить SSH-подключение необходимо на удаленной машине (сервере) настроить серверную часть, а на стороне пользователя клиентскую. Существует множество программных реализаций SSH, для операционной системы Linux наиболее распространен пакет OpenSSH, а в качестве клиента для Windows чаще всего используется PuTTY.

Рассмотрим установку и настройку серверной части на примере Ubuntu Server 18.04, затем выполним подключение к серверу из операционных систем Linux и Windows.

Все действия на сервере выполняем под учетной записью обычного пользователя, в нашем случае в системе для примера создан пользователь mihail, а учетная запись root по умолчанию отключена.

Читайте так же:
Установка магнитоконтактных датчиков сигнализации

1. Установка серверной части

Устанавливаем пакет с помощью команды:

Установка SSH окружения на сервер Linux

После завершения установки, убедимся, что служба запущена. Введем команду:

Проверка доступности службы SSH

Состояние “Active (running)” говорит о том, что служба работает.

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

sudo ufw disable

Отключение блокировки входящих подключений брендмауэром

На этом этапе вы уже можете подключаться к серверу. С настройками по умолчанию сервер принимает входящие подключения на стандартный порт 22, с аутентификацией по паролю.

2. Подключение по SSH из Linux

Обычно в дистрибутивах Linux клиент OpenSSH установлен по умолчанию и не требует предварительной настройки. Подключение выполняется из окна терминала с помощью команды ssh. В качестве аргументов указываем имя пользователя и IP-адрес удаленного сервера. На нашем тестовом сервере, который мы используем в данном примере, существует только одна учетная запись mihail, именно её и будем использовать для подключения.

При первом подключении необходимо подтвердить добавление публичного ключа сервера в локальную базу, отвечаем “yes”, после чего вводим пароль пользователя, от имени которого выполняется подключение. Если соединение прошло успешно, вы увидите, приглашение командной строки сервера. Теперь все вводимые команды будут выполняться непосредственно на удаленной машине.

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

3. Подключение по SSH из Windows

Запускаем клиент Putty и устанавливаем параметры соединения. Переключатель “Connection type” переводим в положение SSH, в поле “Host Name” вводим IP-адрес сервера, в поле “Port” оставляем значение по умолчанию 22 и нажимаем Open.

Подключение по протоколу SSH из Windows

При первом подключении Putty попросит подтвердить, что вы доверяете этому серверу, нажимаем “Yes/Да

Первое подключение по SSH с компьютера под управлением Windows

После ввода логина и пароля вы увидите командную строку удаленного сервера.

Успешное подключение

4. Аутентификация по ключу. Повышаем уровень безопасности

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

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

5. Настройка аутентификации по ключу из Linux

Генерируем публичный и приватный ключ на клиентской машине используя утилиту ssh-keygen. В процессе выполнения утилита предложит изменить путь к приватному ключу и ввести парольную фразу для дополнительной защиты. Оставляем все параметры по умолчанию нажимая Enter при выводе запросов.

Аутентификация по ключу для безопасного SSH-подключения

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

После этого необходимо открытый ключ передать на сервер, а именно скопировать содержимое файла “id_rsa.pub” в файл “

/.ssh/authorized_keys” на сервере. Воспользуемся самым простым способом, утилитой “ssh-copy-id” В качестве параметров указываем логин и IP-адрес сервера, как при обычном подключении. После ввода пароля публичный ключ клиента будет автоматически скопирован на сервер. Выполняем команду:

Авторизация SSH по ключу

После выполнения этих действий при подключении к серверу, пароль запрашиваться не будет.

6. Настройка аутентификации по ключу из Windows

Запускаем утилиту PUTTYGEN и нажимаем кнопку “Generate”. Для выполнения генерации необходимо произвольно перемещать указатель мышки по рабочему столу.

После того, как ключи сгенерированы, нажимаем кнопку “Save private key” и сохраняем файл с приватным ключом на диск. Место хранения закрытого ключа может быть произвольным, в дальнейшем в параметрях Putty потребуется указать путь к этому файлу. Далее выделяем и копируем в буфер обмена публичный ключ, отображаемый в верхней части окна.

Генерация приватного ключа для SSH соединения под Windows

Передачу публичного ключа на сервер выполним обычным копированием через окно терминала. Открываем Putty и подключаемся к серверу обычным способом.

Создадим в домашнем каталоге файл “.ssh/authorized_keys” и ограничим права других пользователей, так, чтобы доступ к этому файлу имел только владелец.

После создания файла запишем в него публичный ключ клиента. На предыдущем шаге публичный ключ был скопирован в буфер обмена. Для записи содержимого буфера обмена в файл воспользуемся командой cat и перенаправлением вывода.

После ввода команды щелкнем правой кнопкой мыши по окну терминала для вставки содержимого буфера обмена. Для завершения ввода нажимаем комбинацию клавиш “Ctrl+D” и отключаемся от сервера.

Загрузка ключа на сервер

Далее укажем в параметрах Putty место хранения приватного ключа и снова выполним подключение к серверу.

Первое подключение с ключом

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector