Подключение по протоколу ssh. Подключение к удаленному серверу по SSH. Завершение сессии ssh

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

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

Скачиваем Putty с сайта putty.org Для себя я скачиваю версию «For Windows on Intel x86 — PuTTY: putty.exe»

Распаковываем архив, запускаем программу.

Вот так выглядит окно программы после запуска. Я уже ввел IP адрес своего сервера в поле «Host Name (or IP address)»:

Вводим домен или IP адрес своего сервера и нажимаем кнопку «Open». Открывается окно командной строки. Оно запрашивает у нас логин и пароль пользователя. Вначале вводим логин, затем, пароль. Внимание, во время вода пароля — символы на экране не печатаются, не печатаются даже звездочки ***. Поэтому пароль вводим как бы вслепую. Вводим и нажимаем Enter. Если пароль ввели верно, то происходит вход в консоль управления сервером. Выводится строка с временем последнего входа, и информация о операционной системе.

Команды в консоли

pwd

df

Команда df показывает размер свободного и занятого пространства на сервере, во всех смонтированных файловых системах

du

Команда du показывает сколько места занимает папка или файл.
Пример команды:

Du -h /home/

Эта команда покажет сколько места занимает директория /home/

На этом все. Первое знакомство с подключением к серверу по SSH и программой putty закончено. Используя эту информацию можно зайти на сервер, и посмотреть сколько места занимают данные на нем.

(англ. Secure Shell - «безопасная оболочка») - сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

После открытия программы:

    Выберите Тип соединения - SSH

    В поле Сохраненная сессия - введите IP адрес сервера

    Нажмите кнопку Save

    Нажмите кнопку Open

В открывшейся консоле - введите полученный ранее Логин и Пароль .

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

Протокол SSH предназначен для защиты соединения через интернет между администратором и удаленным сервером.

SSH-протокол – что это?

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

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

На удаленном сервере устанавливается SSH-сервер, а на компьютере, с которого устанавливается подключение к серверу, - SSH-клиент. Оба – и клиент, и сервер – должны быть запущены во время работы по SSH.

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

Только по SSH каналу вы можете запускать программы Unix-подобных серверов в графическом виде, как в Windows, - это делается с использованием механизма X11 Forwarding.

Почему безопасен SSH?

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

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

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

Благодаря всем этим действиям SSH-канал защищен от основных видов взлома, таких как IP- и DNS-spoofing, при которых подменяется либо IP-адрес либо запись в DNS, и данные передаются на подмененный адрес либо доменное имя к злоумышленнику. Также использование SSH дает защиту от перехвата открытых данных через интернет.

Версии SSH-протокола

SSH-протокол имеет как бесплатную, так и платную (коммерческую) версии.

OpenSSH – бесплатный протокол, который предустановлен во всех операционных системах ядра Unix и существует как утилита, состоящая из SSH-клиента и SSH-сервера.

SSH Communications Security – коммерческая версия протокола. Ее отличия от OpenSSH невелики, основная функциональность идентична бесплатной версии. Добавлены инструменты для управления через веб, коммерческое тех. обслуживание и некоторые другие свойства.

В данный момент выпущены 2 версии SSH-протокола в хронологическом порядке (SSH-1 и SSH-2). Вторая версия более усовершенствована, она предупреждает атаки вида MITM .

SFTP-протокол

SFTP (SSH File Transfer Protocol – SSH-протокол передачи файлов, англ.) – сетевой протокол, расширение SSH-2 для безопасной работы с файлами на удаленном сервере через небезопасную сеть. Как и SSH-протокол он работает на прикладном сетевом уровне и состоит из двух частей SFTP-сервер и SFTP-клиент.

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

FTP- и SCP-протоколы – предшественники SFTP, по сути являются его устаревшими версиями. Они не содержат таких функций, как прерывание при передаче файла и возобновление, метки даты/времени для каждого файла и другие атрибуты.

OpenSSH включает в себя SFTP-сервер и SFTP-клиент.

Применение протоколов SSH и SFTP

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

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

Установите на сервере SSH-сервер, на своем компьютере SSH-клиент, при необходимости запустите SFTP-сервер и SFTP-клиент и переносите данные по безопасному туннелю. Программа sshd запускается на сервере, пока она работает выполняется все необходимое для серверной функциональности SSH. Программа ssh работает на клиенте и осуществляет подключение к серверу, делает все необходимые проверки SSH-протокола.

Команды, которые запускают SSH-клиент, различны на разных операционных системах. UNIX-подобные ОС содержат набор команд для работы с SSH через командную строку, для Windows существуют графические оболочки (бесплатные клиентсткие оболочки PuTTY, WinSCP и др.).

Пример подключения по SSH

Допустим, на вашем компьютере установлена ОС Windows, а на удаленном сервере Linux. В данном случае мы рекомендуем использовать бесплатную оболочку PuTTY для установки соединения по SSH. Скачайте программу PuTTY, она состоит из одного.exe - файла и не требует установки.

Запустите

Обратите внимание на номер порта он должен иметь значение 22, и на тип соединения – выберите SSH.

Вам необходимо заполнить только поле Host Name (or IP address), где указать имя удаленного сервера или его IP-адрес (предпочтительно). Нажмите Open.

Предупреждение PuTTY Security Alert уведомляет о том, что нет гарантии, что вы подключаетесь к нужному хосту, поскольку его ключ не сохранен в памяти вашего компьютера. Нажмите “Да”, если уверены, что ввели правильный IP-адрес.


При вводе пароля обратите внимание, что символы, которые вы вводите, никак не отображаются в командной строке. Просто введите пароль (без пробелов) и нажмите Enter.

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


SSH (англ. Secure Shell - «безопасная оболочка») - сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

SFTP (англ. SSH File Transfer Protocol) - протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Протокол разработан группой IETF как расширение к SSH-2, однако SFTP допускает реализацию и с использованием иных протоколов сеансового уровня.

Где взять данные для подключения к серверу по ssh / sftp?

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

>> Данные для доступа к серверу (SSH)

IP Адрес: 91.215.152.7
Логин: root
Пароль: 1QyeB49TrR
Порт: 3333

именно эти данные необходимо использовать для подключения по ssh и sftp.

Подключение по ssh / sftp из Windows

Для подключения по ssh с помощью putty выполните следующие шаги:

Шаг 1 . Скачайте и запустите putty (putty.exe)

Шаг 2 . Введите ip сервера и выберите протокол ssh. Не забудьте указать правильный порт (обычно это или 3333, или 22).

Шаг 3 . При первом входе принимаем сертификат

Шаг 4 . Вводим логин и пароль

Примечание

Полезные советы по работе с putty :

1. Для копирования текста из консоли PuTTY нужно просто выделить текст - он автоматически скопируется в буфер обмена. Для вставки текста в консоль используется сочетание клавиш Shift+Insert, либо можно просто нажать в консоли правой кнопкой мыши.
2. Прервать исполнение текущей команды - Ctrl+C
3. Очистить экран - Ctrl+L
4. Завершить сессию Ctrl+D или exit в командной строке.

Подключение по ssh / sftp из Linux или Mac OS

Если вы используете Mac OS или Linux, то для подключения к серверу по протоколу ssh можете использовать стандартное приложение "Терминал" (terminal). Для подключения используйте команду (ip будет другой)

Ssh

Процесс подключения выглядит так

Ssh The authenticity of host "91.215.152.7 (91.215.152.7)" can"t be established. RSA key fingerprint is bb:8c:b7:44:14:c6:c1:17:36:c7:ce:ba:08:40:00:c0. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added "91.215.152.7" (RSA) to the list of known hosts. "s password: [ ~]#

Примечание : При вводе пароля вы не видите введённых символов. Из-за этого многим кажется, что ничего не происходит. Однако это не так.

Подключение по sftp с помощью FileZilla

Для подключения по sftp рекомендуем использовать FileZilla. Процесс подключения по sftp мало чем отличается от процесса подключения по ftp, кроме одного момента - необходимо принудительно указать порт по которому идёт подключение, по умолчанию это 3333-й порт, но может быть и 22-й, а также протокол sftp:// перед IP-адресом в строке подключения. Также убедитесь, что пользователю, под которым выполняется вход, разрешён доступ по SSH.

после подключения нужно будет принять сертификат

В этой статье мы рассмотрим современные и удобные способы работы с сервером по SSH с VPS от Infobox и облаком .

Мы расскажем не только про обычный способ подключения, но и про организацию устойчивого соединения через нестабильный интернет (например 3G модемы), а также о дополнительных утилитах, помогающих в работе по SSH.

Если вы пользователь Windows и вам нужно просто и быстро подключиться к Linux–серверу - переходите в раздел «Putty или как быстро подключиться к SSH из Windows».

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

Для подключение необходимы:
  • IP адрес сервера
  • логин
  • пароль
Где взять данные для подключения к серверу VPS NG от Infobox
После заказа услуги войдите в панель управления https://panel.infobox.ru .
Выберите услугу «VPS NG» в правом верхнем углу панели управления в выпадающем списке.
Затем перейдите во вкладку «VPS».

В этом разделе вы увидите ip-адрес сервера и можете установить пароль для доступа к серверу .


Для подключения используйте имя пользователя root , ip–адрес с этой страницы и установленный пароль .
Если вы забыли пароль, нажмите на пункт «Редактировать параметры доступа», показанном на скриншоте выше.

Где взять данные для подключения к серверу VPS от Infobox
Войдите в панель управления https://panel.infobox.ru .
Выберите услугу VPS в правом верхнем углу панели управления в выпадающем списке (в названии услуга содержит имя заказанной ОС и регион размещения).

Затем перейдите во вкладку «Управление VPS».


Используйте имя пользователя root , пароль и ip–адрес сервера с этой страницы.

Где взять данные для подключения к серверу InfoboxCloud
После создания сервера данные для подключения придут к вам на электронную почту. Этого достаточно для подключения.

Если вы потеряли письмо с данными для доступа и хотите получить доступ к серверу
По-умолчанию логин администратора сервера: root

Войдите в панель управления по адресу: https://panel.infobox.ru .
Выберите услугу «Облачные серверы» в правом верхнем углу панели управления в выпадающем списке.

Выделенный IP–адрес для сервера можно посмотреть во вкладке «Облачная инфраструктура» панели управления.

Если поле "Выделенный IP адрес " пустое, значит при создании сервера вы не добавили серверу хотя бы 1 выделенный ip–адрес (и следовательно доступа через Интернет к серверу нет, есть только из локальной сети).

Чтобы добавить выделенный IP–адрес, нажмите на имя сервера.

В группе настроек «Сеть» нажмите «Настроить».


Убедитесь, что пропускная способность (скорость) сети достаточна (или поставьте больше при необходимости).
Затем нажмите «Добавить IPv4–адрес» и нажмите «Сохранить изменения».


Теперь у сервера есть выделенный IP–адрес.


Для изменения пароля доступа к серверу нажмите «Изменить», как показано на скриншоте выше. Так вы можете установить пароль для доступа к серверу.
Теперь вы знаете ip–адрес сервера , логин (root ) и пароль .

Настройка SSH–клиентов

Для Windows
Для подключения к серверу вам потребуется SSH–клиент. Если необходимо быстро подключиться - рекомендуется Putty . Если требуется работа с unix–утилитами, такими как scp, rsync и ssh-copy-id – используйте Cygwin .
Putty или как быстро подключиться к SSH из Windows
Скачайте инсталлятор Putty для Windows из раздела The latest release version и установите Putty с настройками по-умолчанию.


Запустите Putty (Пуск -> Все приложения -> PuTTY -> PuTTY).

Введите IP–адрес сервера. Убедитесь, что выбран порт 22, а тип подключения SSH и нажмите «Open».


Вам будет задан вопрос, доверяете ли вы серверу, к которому подключаетесь. Нужно ответить «Да».


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


Подключение было успешно установлено.

Cygwin или Unix–окружение на вашем Windows компьютере
Работая с Linux–серверами вам может понадобиться подобное окружение на вашем компьютере. Использовать единый набор утилит на сервере и рабочем компьютере очень удобно, поэтому обязательно попробуйте Cygwin. Linux только с первого взгляда кажется сложным. Постепенно осваивая эту ОС вы все больше будете нуждаться в Cygwin. Хорошее затягивает.

Нестабильное интернет-соединение при подключении по SSH – что делать?

Часто, работая через нестабильную сеть (например через мобильный интернет 3G/4G или различные точки доступа WiFi) соединение с SSH обрывается. Давайте посмотрим, что можно сделать на уровне клиента, чтобы предотвратить необходимость переподключения. Данные инструменты не подходят для выполнения критически важных операций на сервере (например апгрейд ОС). Для выполнения критически важных операций нужно дополнительно использовать утилиты, описанные в следующем разделе статьи. Предназначение утилит в этом разделе - более удобная работа по SSH для пользователя.
AutoSSH
AutoSSH запускает копию ssh–клиента и осуществляет мониторинг за соединением, перезапуская ssh–клиент при необходимости.

Autossh использует ssh для построения петли ssh–перенаправлений (соединение с локального компьютера на удаленный и в обратном направлении) и пересылает тестовые данные, ожидая, что они вернутся назад. Также поддерживается использование удаленного эхо-сервиса для отправки назад тестовых данных.

AutoSSH поддерживает только 3 параметра:

  • -M <порт>[: эхо-порт] - используется для указания порта мониторинга или порта мониторинга и порта эхо-сервиса. Если не указан порт эхо-сервиса, для него используется следующий по номеру порт. Например, если установлен флаг -M 20000, тестовые данные будут отправляться по порту 20000, а получаться по порту 20001. Если указать -M 0 – мониторинг соединения будет отключен и autossh будет перезапускать ssh только при выходе из ssh (можно использовать это с опциями ServerAliveInterval и ServerAliveCountMax в OpenSSH, если мониторинг в вашей ситуации не может быть использован);
  • -f - отправляет autossh в фон еще до запуска ssh (пароль в таком режиме ввести вы не сможете);
  • -V - отображает версию autossh.
Все остальные аргументы передаются как параметры ssh.

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

Установка AutoSSH в Cygwin в Windows
При использовании Cygwin в Windows введите:
apt-cyg update
apt-cyg install autossh


Теперь можно выполнить подключение к серверу:
autossh -M 20000 root@ip_адрес_сервера


Соединение успешно установлено.

В целом autossh – достаточно удобный инструмент для работы через нестабильные интернет-соединения и для организации ssh–туннелей на сервере (этот сценарий мы рассмотрим в отдельной статье). Недостаток autossh в том, что эта утилита не решает проблему, если в момент ввода команд на сети возникают значительные задержки (что в 3G сети случается). В этом случае вы будете ждать ответа от сервера на ввод каждого символа, что несколько замедляет работу. Тем не менее в обычных условиях работы autossh очень помогает поддерживать ssh–соединение.

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

Как выполнять критически важные и длительные операции на сервере: терминальные мультиплексоры

Если вы обновляете ОС, устанавливаете какое-то ПО или просто редактируете файл на сервере, после подключения через ssh или autossh не работайте напрямую. Если соединение по SSH будет разорвано - вы потеряете сессию, запущенную при подключении по SSH. Чтобы этого не произошло и при переподключении по SSH вы точно попали в продолжающуюся операцию на сервере или в открытое окно редактирования файла с того же момента, используйте на сервере терминальные мультиплексоры: GNU Screen или tmux .
GNU Screen
Изначально программа screen создавалась, чтобы запускать несколько терминальных сессий внутри одного терминала. Однако есть у screen и другое полезное свойство: возможность отсоединять виртуальные сеансы от физического терминала и подсоединять к другому. Это, в частности, позволяет запускать долгоиграющие процессы на удалённых машинах, без необходимости быть постоянно на них залогиненным.

1. Зайдите на удаленный сервер по SSH.
2. Запустите там screen
3. Вы увидите приветствие, нажмите Enter.
4. Теперь вы можете делать что угодно, как будто вы просто подключены к серверу по SSH (например запустите любой долгий процесс).
5. Вы можете отсоединить сессию, нажав CTRL + a, затем d. Можете даже завершить подключение по SSH к серверу.
6. Чтобы вернуться в сессию, переподключитесь по SSH (или это сделает autossh) и введите screen -r
Вы вернетесь в запущенную сессию, а в ней продолжается запущенный вами процесс ранее. Более подробно терминальные мультиплексоры мы разберем в последующих статьях.

Заключение

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