SSH в Windows 10: как активировать сервер и подключиться как клиент

Проблема возникла из-за необходимости поддерживать достаточно много времени процесса соединения с сервером Linux, чтобы каждый раз не соединяться и каждый раз не вводит монотонные строки входа в папку проекта на сервере. Для настройки. Настроить нужно, как серверную часть, так и клиентскую, если к примеру соединение производится через PuTTY или через встроенный терминал в рабочем IDE. У меня была проблема последнего характера.

Шаг 1: Логинемся под пользователем root

ssh root@your_server_ip

И делаем свое черное дело список здесь список здесь.

Потом вы подумали, что это очень легко работать под правами root, нужно усложнить себе работу и ввести новую сущность — бесправного пользователя и обязательно дать ему имя как ваш ник в Одноглазиках (сорри, вы продвинутые тогда берите из VK)! Чтобы когда вы в логах (/var/log/) увидите как хакеры пробуют взломать вашего демона SSH и не догадались о вашем нике из Одноглазиков — это победа!! Вы можете гордиться вашим ником в социальных сетях — его никто не знает. И значит можно пароль поставить как на домашний роутер admin. Я шутил!

По делу: не работайте от root, пожалуйста!

Требования

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

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

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

touch ~/.ssh/config

Активировать сервер и клиент OpenSSH в Windows 10

Начиная с Fall Creators Update, Windows 10 приносит с собой клиент и сервер на базе OpenSSH так что любой пользователь, который хочет его использовать, может сделать это без проблем. Эти функции не являются обязательными, поскольку они могут понадобиться не всем пользователям, поэтому нам придется вручную включить их, чтобы использовать их.

Активировать сервер и клиент OpenSSH в Windows 10

Чтобы установить OpenSSH клиент и / или сервер ОС Windows 10 , что нам нужно сделать, это открыть меню конфигурации операционной системы и перейти в раздел «Приложения> Приложения и функции> Дополнительные функции.

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

Активировать сервер и клиент OpenSSH в Windows 10

Мы увидим все функции и дополнительные возможности, которые предлагает нам Windows 10. Нас интересуют клиент и сервер SSH. Мы можем искать их вручную, но самый быстрый способ — ввести » SSH »В поисковой системе, чтобы быстро найти и сервер, и клиента.

Читайте также:  Какой дистрибутив Linux выбрать в 2021 году

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

Активировать сервер и клиент OpenSSH в Windows 10

Как их удалить

Если наступит время, когда нам больше не понадобится этот клиент или этот сервер, мы сможем отключить эти дополнительные функции Windows. Не для того, чтобы освободить место, поскольку между клиентом и сервером они едва достигают 30 МБ, а для того, чтобы функции были в порядке и во избежание того, что из-за ошибки кто-то может удаленно подключиться к нашему ПК.

Активировать сервер и клиент OpenSSH в Windows 10

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

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

Активировать сервер и клиент OpenSSH в Windows 10

Подключение через сетевой мост

Также есть альтернативный способ подключения к виртуальной машине по SSH для этого нужно изменить тип подключения с «NAT» на «Сетевой мост». В этом случае виртуальная машина будет подключена к вашей локальной сети и получит IP адрес от вашего роутера из того же диапазона, что и ваша основная система.

Подключение через сетевой мост

Для этого нужно выключить виртуальную машину и зайти в ее свойства в программе VirtualBox. В настройках нужно зайти в раздел «Сеть» и включить тип подключения «Сетевой мост».

После этого нужно запустить виртуальную машину и выполнить на ней команду «ifconfig» для того, чтобы узнать, какой IP адрес она получила от роутера. В нашем случае был получен IP адрес «».

Подключение через сетевой мост

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

ssh [email protected]

Подключение через сетевой мост

Где «user» — это имя пользователя, а «» — это ее IP адрес.

Аналогично работает и подключение с помощью PuTTY. Вводим «» и подключаемся по стандартному порту «22».

Подключение через сетевой мост

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

Посмотрите также:

  • Как сделать общую папку в VirtualBox
  • Как подключиться по SSH из Windows 10
  • Как запустить виртуальную машину VirtualBox из командной строки
  • Как установить Linux на виртуальную машину
  • Как установить Windows 7 или 10 на виртуальную машину

Активация и установка на Raspberry PI

Организация интерфейсного доступа к консоли или возможностям протокола SSH начинается с запуска его серверной части на Raspberry PI. Сделать можно названую процедуру аж тремя методами при прямом подключении и одном «безголовом». Конечно, для первых изначально потребуется непосредственный доступ к консоли Raspbian Pi, с аппаратными клавиатурой и монитором. И во всех случаях, после того, как установлен параметр активации, нужно перегрузить Raspberry Pi для запуска сервиса.

Итак, последовательность действий:

Первый

Активация и установка на Raspberry PI

Классический метод, работающий в любом Linux использующем systemd в качестве системы инициализации. Вводим в консоли: sudo -s # активируем сервис: sudo systemctl enable ssh sudo systemctl start ssh

Второй

Выполняется непосредственно из оконной системы Raspberry PI 3. В меню «Preferences» находящейся в своеобразном «пуск» на панели, нужно выбрать «Raspberry Pi Configuration». В открывшемся окне надо перейти на вкладку «Interfaces». В пункте SSH устанавливаем рядом расположенный переключатель в значение «Enabled». Далее делается подтверждение действия нажатием «Ок» внизу окна.

Читайте также:  Руководство по KDE: Другой рабочий стол Linux

Третий

Активация сервера названным методом подойдет для случаев, когда графический интерфейс в Raspbian отключен. В консоли нужно набрать: sudo raspi-config После нажатия «Enter», по требованию, вводится пароль администратора (для случаев, когда его использование включено правилами, указанными файлом /etc/sudoers.d/010_pi-nopasswd). По умолчанию запрос безопасности отключен.

Активация и установка на Raspberry PI

После откроется текстовая система меню настройки, в которой нужно перейти в раздел «Interface Options», используя клавиши стрелок клавиатуры и кнопку «Enter».

Зайдя в названый пункт конфигурации надо переместится в раздел SSH, и следом активировать внизу экрана «Enable», или для некоторых версий Raspbian «Yes». Затем «Ok». В последующем открывшемся текстовом окне со списком настроек «Finish».

Четвертый

И наконец, метод работающий для тех случаев, когда физическое подключение к одноплатному компьютеру отсутствует и есть только сетевое. Здесь понадобиться внести небольшие изменения на SD-карту с установленной системой Raspbian. На ней нужно найти загрузочный раздел. Если ставить «вчистую» операционку, то он будет меньшим среди двух находящихся на карте. В корень помещается файл без расширения и с любым содержанием, по имени «ssh». Обнаружив его при загрузке, Raspbian запустит Secure shell сервер, с пустым паролем безопасности, и пользователем «pi» (без кавычек).

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

Активация и установка на Raspberry PI

К вопросу об осуществлении доступа к названой части Raspbian из Windows. Проблемы в конкретном случае нет, по причине использования на загрузочном разделе файловой системы FAT32, родной для старших ОС от Microsoft. Здесь главное — наличие самого физического устройства чтения SD-карт.

Настройка параметров подключения к SSH

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

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

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

cp /etc/ssh/sshd_config{,.bak}

Приставка {,.bak} позволяет скопировать файл с указанным именем и расширением bak, которое присваивается резервным копиям.

Теперь через текстовый редактор, например, vim, emacs, nano, открываем файл /etc/ssh/sshd_config и вносим в него основные правки. В целях повышения безопасности SSH соединения нас интересуют следующие параметры:

  1. PermitRootLogin
  2. AllowUsers, AllowGroups
  3. DenyUsers, DenyGroups
  4. Port
  5. ListenAddress
  6. Login GraceTime
  7. ClientAliveInterval
  8. HostbasedAuthentication.

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

PermitRootLogin Этот параметр устанавливает разрешение на вход в систему как root пользователь. Для повышения безопасности соединения рекомендуется отключить такую возможность, т.е. изменить установленное в файле значение “Yes” на “No”:

PermitRootLogin no

При таких условиях выполнять команды с правами суперпользователя после входа на сервер можно будет с помощью функций su либо sudo.

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

AllowUsers user1 user2 user3 AllowGroups group1 group2 group3

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

Читайте также:  Лучшие графические оболочки Ubuntu

DenyUsers, DenyGroups Когда пользователей в системе много и нужно предоставить удаленный доступ большинству из них, при этом запретив его отдельным лицам и группам, в sshd_config файле вносят правки в параметры DenyUsers, DenyGroups. Напротив этих параметров, аналогично примеру с AllowUsers, AllowGroups, перечисляем имена пользователей и групп, которым будет отказано в доступе на сервер по SSH.

DenyUsers user1 user2 DenyGroups group1 group2

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

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

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

Port 22540

ListenAddress Кроме того, что ssh-соединения настроено на определенном порте, подключение осуществляется на различных сетевых интерфейсах. Иными словами сервер слушает множество IP-адресов. Есть возможность указать в конфигурационном файле конкретные адреса интерфейсов для входа на сервер с помощью параметра ListenAddress. Например:

ListenAddress

Login GraceTime По умолчанию, при подключении к серверу по ssh у пользователя есть 2 минуты для ввода логина и пароля. Такого промежутка более чем достаточно, причем не только для авторизованного пользователя, но и для хакера. Поэтому время ожидания ввода этих данных стоит ограничить до 30-60 секунд, в зависимости от ваших предпочтений.

Login GraceTime 30

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

ClientAliveInterval 300

HostbasedAuthentication Также стоит отключить авторизацию пользователя на основе хоста с помощью директивы:

HostbasedAuthentication no

Лучше воспользоваться аутентификацией на основе ключей.

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

Как подключиться к VPS c macOS и iOS

Для подключения к серверу по SSH с устройств на операционной системе macOS, также как и в предыдущем случае, используем встроенный клиент Terminal.

Как подключиться к VPS c macOS и iOS
Как подключиться к VPS c macOS и iOS
  1. Открываем приложение. Вводим команду с данными сервера «ssh логин@IP-адрес». Нажимаем «Enter».
  2. При первом входе подтверждаем свои действия соответствующей командой «Yes».
  3. Вводим пароль от виртуального сервера.
  4. Подключение к виртуальному серверу по протоколу SSH завершено.
Как подключиться к VPS c macOS и iOS
Как подключиться к VPS c macOS и iOS

С мобильных устройств на iOS процедура подключения к серверу по SSH проходит аналогичным способом. Для этого существует много удобных приложений, таких как бесплатные SSH-клиенты iTerminal и Termius. В приложении нужно выбрать пункт «SSH», указать IP-адрес («Host name / IP address»), логин («User name»), пароль («Password») и нажать «Соеденить» («Connect»).

Как подключиться к VPS c macOS и iOS

Шаг Настраиваем ключи для второго профиля

Для второй учётной записи мы должны сгенерировать новую пару SSH-ключей. Для этого вновь воспользуемся командой ssh-keygen, указав другое имя файла для нового ключа (в нашем случае это id_rsa_work в той же директории .ssh домашнего каталога):

Шаг Настраиваем ключи для второго профиля

Теперь в каталоге %HOMEPATH%\.ssh у нас хранятся две пары SSH-ключей:

Новый публичный ключ, записанный в файле id_rsa_, нужно зарегистрировать в настройках второй нашей учётной записи на GitHub. Эта процедура полностью аналогична рассмотренной выше регистрации SSH-ключа из id_rsa_ для первой учетной записи, поэтому подробно на ней мы останавливаться не будем.

Шаг Настраиваем ключи для второго профиля