Как подключиться к серверу linux через windows

Время на прочтение6 мин

Количество просмотров29K

В прошлой статье я обещал рассмотреть механизм удаленного подключения с Windows на серверы под управлением *nix, и наоборот при помощи PowerShell. Обещанного обычно ждут три года, но я успел чуть раньше. Что ж, если хочется с верного макбука управлять гетерогенной инфраструктурой, или наоборот ― с Surface Pro рулить Linux-серверами без всяких putty, ― прошу под кат.

Microsoft Loves Linux

Еще в 2015 году Microsoft торжественно объявила о запуске программы «Microsoft Linux». Сюда вошла как банальная поддержка гостевых *nix-like OS на Hyper-V, так и встроенная в Windows 10 Ubuntu и возможность запуска в Docker продуктов Microsoft, таких как SQL Server.

Компания также опубликовала исходный код PowerShell, что позволило запускать «Ракушку Мощи» не только на Windows. Из-под одноименного аккаунта на Github, помимо исходного кода, выложены и бинарники под большинство современных систем (лицензия MIT).

Это позволяет настроить удаленное управление с помощью единого инструмента ― PowerShell. Помимо подключения к консоли компьютера, можно запускать отдельные команды, в том числе и на нескольких серверах одновременно. Довольно удобно для автоматизации задач администрирования, таких как массовое изменение настроек, инвентаризация, сбор логов.

Порой удобно совмещать традиционные консольные команды со вставками PowerShell:

cat /etc/passwd | ConvertFrom-Csv -Delimiter ':' -Header Name,Passwd,UID,GID,Description,Home,Shell | Sort-Object Name | Format-Table

Для подключения к Windows-машинам при помощи PowerShell используется протокол WS-Man. Для GNU\Linux привычен SSH. Так как сегодня становятся универсальными оба протокола, разберем их подробнее.

PowerShell 6.0 под Windows и *nix, пока еще находится в бете. Поэтому не рекомендую без хорошего тестирования применять на боевых серверах описанное ниже.

Магомед не идет к горе

Когда технология удаленного доступа при помощи PowerShell только набирала обороты, единственным универсальным способом подключения к разным системам был протокол WS-Man. Для тестового стенда я взял Windows Server 2016 и Centos 7, для которых и буду настраивать возможность удаленного подключения и выполнения команд при помощи этого протокола.

Для начала установим на Centos свежий PowerShell:

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo

yum install -y powershell

pwsh

После установки появилась возможность запускать привычные Windows-администратору командлеты. Например, посмотрим версию PS и получим список запущенных процессов командлетами $PSVersionTable и Get-Process:

Работаем в консоли PowerShell на CentOS.

Чтобы подключаться к Linux-машине с консоли Windows, нам понадобится установить и настроить:

  • OMI (Open Management Infrastructure) ― адаптация WMI, которую также можно использовать для управления компьютерами с ОС, отличными от Windows;
  • PSRP (PowerShell Remoting Protocol) ― библиотека, необходимая для удаленного подключения PowerShell.

Подробно с работой и эволюцией OMI и PSRP можно ознакомиться в отличном материале от Matt Wrock, я же просто установлю OMI командой:

yum install omi

Далее нужно настроить порты и аутентификацию в конфигурационном файле /etc/opt/omi/conf/omiserver.conf, после чего перезапустить сервер командой:

/opt/omi/bin/service_control restart

Для упрощения эксперимента я не буду настраивать ни NTLM-аутентификацию, ни Kerberos. Еще и шифрование отключу ― разумеется, в боевой среде делать этого не стоит. Для включения текстовой аутентификации и шифрования на стороне Windows в работе winrm достаточно выполнить следующие команды:

winrm set winrm/config/client/auth @{Basic="true"}
winrm set winrm/config/client @{AllowUnencrypted="true"}
winrm set winrm/config/service/auth @{Basic="true"}
winrm set winrm/config/service @{AllowUnencrypted="true"}

После настройки можно проверить работу OMI из консоли Windows:

winrm enumerate http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/OMI_Identify?__cimnamespace=root/omi -r:http://server:5985 -auth:Basic -u:root -p:"password" -skipcncheck -skipcacheck -encoding:utf-8 -unencrypted

Подключаемся к CentOS из cmd.

Теперь проверим работу обратным подключением ― из Linux к Windows:

/opt/omi/bin/omicli ei root/cimv2 Win32_Environment --auth Basic --hostname server -u username -p password --port 5985 

… а затем с CentOS подключаемся к Windows.

После того, как WMI\OMI заработал, нужно установить и настроить PSRP. К сожалению и вопреки инструкции, бинарник отсутствует. Библиотеку пришлось компилировать, долго и нудно исправляя возникающие ошибки зависимостей:

yum groupinstall 'Development Tools'
yum install openssl-devel pam-devel
git clone --recursive [https://github.com/PowerShell/psl-omi-provider.git](https://github.com/PowerShell/psl-omi-provider.git)

cd psl-omi-provider/
make release
rpm -ihv target/Linux_ULINUX_1.0_x64_64_Release/psrp-1.4.1-0.universal.x64.rpm

Теперь мы сможем подключаться с Windows на Linux и наоборот при помощи PowerShell. Начнем с Windows на Linux:

$cred = Get-Credential

#пропустим проверку сертификата для нашей тестовой лаборатории
$o = New-PSSessionOption -SkipCACheck -SkipRevocationCheck -SkipCNCheck

#выполнение команды:
Invoke-Command -ComputerName server -ScriptBlock { Get-Process } -Authentication Basic -SessionOption $o -Credential $cred -UseSSL | Select-Object -First 5

#подключение к консоли
Enter-PSSession -ComputerName 'server' -Credential $cred -Authentication basic -UseSSL -SessionOption $o

С Windows на Linux.

Аналогичным образом можно провести и обратное подключение.

Invoke-Command можно «натравить» на список компьютеров, и с рабочей станции Windows создать пользователя на всех серверах Linux командой вида:

 Invoke-Command -ComputerName server1,server2,server3  -ScriptBlock { adduser admin;echo admin:password | chpasswd
 }

Надо сказать, что способ не самый удобный и эффективный. Минусов добавляет компиляция библиотек, разнообразные баги ― например, на момент написания статьи PSRP не позволял нормально подключиться из Linux в Windows.

Да и сами разработчики рекомендуют не плясать вокруг WS-Man, а обратиться к проверенному способу ― SSH. Что ж, попробуем и его.

Гора идет к Магомету

На этот раз машина с Windows получит чуть больше специфической подготовки ― нужно установить свежий PowerShell и OpenSSH.

После можно проверить синтаксис командлета New-PSSession. Если все произошло как надо, то командлет, помимо привычного параметра ComputerName, будет поддерживать и HostName.

PowerShell 6.0.0-beta.9 и обновленный синтаксис командлета.

Установка OpenSSH описана в отдельной инструкции.

Но под спойлером вы найдете все основные моменты.

Качаем последний релиз или используем пакет из репозитория Chocolatey. Все это разархивируем в \Program Files\OpenSSH.

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

powershell -ExecutionPolicy Bypass -File install-sshd.ps1

Теперь генерируем ключи:

.\ssh-keygen.exe -A
.\FixHostFilePermissions.ps1 -Confirm:$false

В тестовой среде мы будем использовать парольную аутентификацию, поэтому стоит убедиться что она включена в файле sshd_config:

```bash
PasswordAuthentication yes
```

Если вы также хотите автоматически запускать PowerShell при подключении по SSH, то в параметре subsystem нужно прописать путь к желаемой версии PS:

Subsystem   powershell C:/Program Files (x86)/PowerShell/6.0.0-beta.9/pwsh.exe -sshs -NoLogo -NoProfile

Для работы клиента SSH нужно добавить директорию в %PATH% любым удобным способом. Например, таким:

setx path "%path%;C:\Program Files\OpenSSH"

Остается только настроить и запустить службы:

Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic
net start sshd

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

C Windows через Putty на Linux, с Linux обратно на Windows по SSH.

На достигнутом останавливаться не будем и перейдем к настройке Linux. При настройке сервера SSH по умолчанию достаточно прописать PowerShell в Subsystem:

Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile

Теперь проверим подключение через командлет New-PSSession и Invoke-Command.

Сначала Windows:

Работаем из PowerShell с Linux-сервером.

Теперь подключимся из Linux к Windows:

Работаем из PowerShell с Windows-сервером.

В отличие от WS-Man, SSH настраивается намного проще и работает стабильнее. Да и беспарольное подключение по ключам настраивать привычнее.

В хозяйстве пригодится

С однозначным «советом потребителю» все опять сложно: SSH проще в настройке и стабильнее, но WS-Man использует API и позволяет применять инструменты вроде JEA. На боевых серверах использовать WS-Man я бы не стал однозначно, а вот реализация OpenSSH в Windows как сервера, так и клиента мне понравилась. Для самопальной автоматизации вполне подойдет даже без PowerShell.

В любом случае, границы между Linux и Windows хоть и медленно, но начинают стираться, что безусловно радует.

Что такое SSH

SSH — также известный как “Secure Socket Shell”, представляет собой протокол, который предоставляет пользователям безопасный способ доступа к удаленном серверу Linux. “SSH” используется всеми, кому необходимо безопасно удаленно управлять компьютером, а также системными и сетевыми администраторами. “Secure Shell” (SSH) обеспечивает аутентификацию с открытым ключом и аутентификацию по паролю, а также зашифрованную передачу данных между двумя компьютерами, подключенными через открытую сеть Интернет. Программное обеспечение состоит из сервера SSH, который стоит на VDS и клиента который стоит на локальном компьютере пользователя. Программное обеспечение обеспечивает весь нужный функционал работы с Linux VDS сервером начиная от удаленного доступа, передачи файлов и заканчивая перенаправлением tсp портов. Является де факто стандратом удаленного взаимодействия с Linux серверами. Серверная и клиентская часть SSH всегда входят в забовую установку Linux. Остается только подключиться удаленно.

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

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

Что такое PuTTY

PuTTY — это SSH-клиент, доступный для Windows и доступный на компьютерах Windows с поддержкой MCECS. Кроме того, он находится в свободном доступе в Интернете и его можете скачать для использования на вашем персональном компьютере с: http://www.chiark.greenend.org.uk/~sgtatham/putty/

Запустите PuTTY и появится окно, т.е. сама программа. Это выглядит как на скриншоте ниже.

Как подключиться к Linux серверу по SSH

Чтобы подключиться на сервер:

1. Введите имя хоста машины, к которой вы хотите подключиться.
2. Нажмите кнопку Open.
3. Если вы впервые пытаетесь подключиться к этому хосту, PuTTY предупредит вас, что не может гарантировать, что компьютер, к которому вы подключаетесь, является тем, за кого он себя выдает. Нажмите «Да», чтобы сохранить ключ в кеше PuTTY.
4. Введите логин и пароль. При заказе сервера у нас, вы получаете доступ к пользователю root. Соответственно вы должны указать логин root и его пароль который находиться в разделе “Инструкция” в личном кабинете..
Важно!!! Не бойтесь, при вводе пароля, звездочки или точки обозначающие пароль, не видны!

Подключение к серверу по SSH протоколу из Windows, Linux и macOS с встроенным SSH клиентом

Чтобы подключиться из Windows, Linux или macOS мы должны открыть:
1. CMD (командую строку в Windows)
2. Или терминал в Linux ОС и macOS.

Дальше вводим следующую команду, принимаем условия, пишем “yes” и нажимаем Enter.

ssh [email protected]
Как подключиться к Linux серверу по SSH

По умолчанию SSH порт всегда 22. Он прописан сразу в терминале, CMD также определяет его сам.

После того как мы написали «yes», нажали Enter и продолжили, указываем пароль, заново нажимаем на Enter и входим на сервер.

Подключение к серверу по SSH протоколу из Windows, Linux и macOS с Termius

Что такое Termius

Termius — отличный бесплатный SSH-клиент, с помощью которого вы можете легко управлять всеми своими серверами. Вы подключаетесь прямо к серверу обычным способом (ssh root@ipaddress) или можете добавить их в “Termius”, чтобы запомнить и легко подключаться к каждому из них в будущем всего одним щелчком мыши.

Его преимущество – доступность на всех системах: Windows, macOS, Linux, iOS и Android, и для большинства из них есть бесплатная версия. Платная версия тоже довольно хороша, но не обязательна к покупке. Для регулярного пользования бесплатная версия отлично подойдёт.

Шаг один. Мы должны скачать и установить “Termius”.
Скачать можете по ссылке: https://www.termius.com/download

Как подключиться к Linux серверу по SSH

После того как мы скачали и запустили “Termius” он будет автоматический установлен.
Теперь вам нужно создать учетную запись, так как это требуется. Указываем данные и нажимаем на “Singup with email”

Как подключиться к Linux серверу по SSH

После регистрации в начальной странице указываем IP, затем нажимаем на кнопку “Create host”

Как подключиться к Linux серверу по SSH

После перехода мы указываем:

  • Название сервера, чтобы было легко распознать о какой услуге идет речь — если у вас их несколько.
  • IP адрес сервера.
  • Порт — по умолчанию 22.
  • Логин — в вашем случае – «root».
  • Пароль.
  • Нажимаем на галочку и сохраняем.
Как подключиться к Linux серверу по SSH

После этого щелкаем два раза на конфиг, который сохранили, затем нажимаем «Add and continue»

Как подключиться к Linux серверу по SSH

Мы подключились на сервер и можем начать работать.

Как подключиться к Linux серверу по SSH

Большой плюс данного SSH клиента – встроенный SFTP клиент. Вам не нужно будет в таком случае пользоваться WinSCP, FileZilla или другим ПО.

Услуги

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

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

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

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

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

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

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться


Как выяснить 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 через протокол SSH с помощью программы PuTTY на Windows. Для начала давайте разберемся, что такое SSH и зачем нам нужен PuTTY для подключения по SSH к серверам.

Запись видеоурока во ВКонтакте

Запись видеоурока на RuTuBe

Запись видеоурока на YouTuBe

SSH (Secure Shell – Безопасная оболочка) – протокол позволяющий производить удаленное управление операционной системой и осуществлять передачу данных, таких как файлы, аудио и видео потоки. Преимущества данного протокола в том, что он шифрует весь передаваемый трафик, включая пароли.

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

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

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

sudo apt install openssh-server

Как вы видите, система выдает нам сообщение, что сервер openssh уже установлен в системе.

Linux Ubuntu | Подключение по SSH через PuTTY с Windows

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

Установка и работа в программе PuTTY

Скачиваем программу PuTTY с официального сайта https://putty.org.ru \ Скачать \ Обычная версия: putty-0.73-ru-17.zip \ Разархивируем и устанавливаем.

У меня она уже установлена, поэтому я её запускаю и попадаю в основной раздел, с которым мы будем работать, это раздел Session (сессии), т.е. подключения к удаленным системам.

У вас здесь будет только пункт Default Settings (Настройки по умолчанию) \ Вводим ip адрес нашего сервера, 192.168.88.50 \ Port: 22 \ Connect type: SSH \ Сразу сохраним параметры подключения к данному серверу, чтобы не вводить их каждый раз \ Save sessions \ Ubunbu-srv \ Save. Теперь подключение с данным именем появилось у нас в списке сохраненных сеансов.

Linux Ubuntu | Подключение по SSH через PuTTY с Windows

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

Если вы забыли адрес сервера, то в консоли вводим команду:

ip ad

и видим настройки сетевых подключений присутствующих в системе

Linux Ubuntu | Подключение по SSH через PuTTY с Windows

Нажимаем Open, чтобы попытаться подключиться к нашему серверу через протокол защищенной оболочки SSH \ Вводим логин: it-skills \ Вводим пароль: ***** \

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

Строка it-skills@ubuntu-srv: говорит нам о том, что мы подключены к серверу ubuntu-srv под пользователем it-skills

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

cd /

ls -la

Linux Ubuntu | Подключение по SSH через PuTTY с Windows

Опять же, все эти команды мы будем изучать в следующих уроках, но если вкратце, то команда cd сменяет каталог, / — это корневой каталог, т.е. самый верхний, как например диск С в системах Windows, вот только в Linux корневой каталог один, независимо от количества жестких дисков в системе, а в Windows корневой каталог есть в каждом диске, т.е. папка верхнего уровня.

Команда ls -la выводит содержимое каталога, в котором мы сейчас находимся, т.е. содержимое корневого каталога.

Достоинства использования PuTTY

Давайте разберемся, а в чем еще, помимо удаленного подключения к консоли сервера, удобство работы через программу PuTTY? Ведь в нашем случае, у нас сервер установлен в качестве виртуального сервера, и мы можем им управлять через VMWare!

А удобство в следующем:

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

 — наличие скрула  — если мы перейдем в каталог etc и просмотрим его содержимое то увидим большое количество файлов и папок

cd /etc/

ll

Через терминал на сервере мы не можем увидеть все содержимое, так как нам доступен только конец вывода на экран, а вверх мы не модем пролистать.

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

— копирование и вставка – через программу PuTTY очень удобно копировать и вставлять нужное содержимое. К примеру, мы можем легко выделить весь вывод, скопировать его Ctrl+C и вставить в какой-нибудь документ (Выполнить \ notepad \ Вставить). Как правило, это полезно, когда вам необходимо отправить какую-нибудь информацию техническому специалисту, если у вас появляются какие-то ошибки на сервере. Ну или вы пишите скрипт в одну строку и добавляете в него какие-то правки, довели его до правильной работы, потом просто выделили, скопировали и вставили себе в документ или отправили кому-нибудь. Т.е. не нужно заново его вводить вручную.

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

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

К примеру, эта же команда sudo apt install openssh-server по установке сервера ssh.

Вообще это очень полезно при изучении различных инструкций, так как вы можете просто через Copy Paste быстро настроить нужную службу.

— размер шрифта – допустим мне так же удобно менять размер шрифта.

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

Однако, через PuTTY мы можем изменить размер шрифта, цвет и фон шрифта на тот, который вам удобнее (ПКМ по окну программы \ Change Settings «Изменить настройки» \ Windows \ Appearance \ Font settings \ Change \ 16 \ ОК \ Apply )

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

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

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

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

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

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

sudo apt install openssh-server
Установка SSH окружения на сервер Linux

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

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

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

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

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

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

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

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

ssh [email protected]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ssh-copy-id [email protected]
Авторизация SSH по ключу

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

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

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

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

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

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

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

mkdir .ssh touch .ssh/authorized_keys chmod 700 .ssh chmod 600 .ssh/authorized_keys

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

cat > .ssh/authorized_keys

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

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

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

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

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

Настройка SSH-подключения по ключу завершена

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 loading circle gif
  • Активация windows 10 pro кряк
  • Windows boot ini windows 7 где находится
  • Как отключить потоковую передачу мультимедиа windows 10
  • Проверить оперативку на наличие ошибок windows 10