Сайт о телевидении

Сайт о телевидении

» » Подключение к виртуальному серверу по SSH и SFTP. Установка и настройка openssh-server. Просмотр и редактирование содержимого файлов

Подключение к виртуальному серверу по SSH и SFTP. Установка и настройка openssh-server. Просмотр и редактирование содержимого файлов

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

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

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

Что такое хостинг с ssh доступом?

Но сначала скажу о том, что такое SSH, так как возможно не все знают, что это за зверь. А если коротко, то согласно Википедии это:

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

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

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

Как видите, всё очень просто. Попробую подключиться через ssh к своему хостингу. Но не тут то было, хостинг упорно не хотел меня принимать по этому протоколу. Я написал в службу поддержки и теперь жду ответа.

Ну а пока я вам расскажу, как удобно можно подключиться по ssh через файловый менеджер Nautilus. Подключившись к нему по SSH вы будете работать с файлами, которые лежат на хостинге, как будто они лежат на вашем компьютере. Открываем Nautilus и нажимаем Ctrl + L, чтобы в адресной строке можно было написать путь к серверу ssh:

Sftp://[email protected]

Потом вас попросят ввести пароль и вы увидите в файловом менеджере все свои файлы. Вот такие преимущества есть у хостинга с ssh.

Поэтому выбирая хостинг обращайте на это внимание. Мой хостинг IHOR дает доступ к SSH и поэтому я пользуюсь им уже несколько лет...

СОВЕТ ВЕБМАСТЕРУ: Умение зарабатывать в интернете - это только пол дела, вторая половина - это умение ВЫГОДНО обналичивать электронные деньги. Вот список офшорных банковских карт, на которые можно выводить средства и потом снимать с них хрустящие купюры:

1. Payoneer - Самая популярная в мире платежная система для фрилансеров. Выдает карты, находится в США.

2. EpayService - Американская платежная система, очень популярна во многих странах, бесплатно дает карту MasterCard в EVRO для жителей СНГ и Европы.

3. Skrill - Единственная платежная система которая работает с криптовалютами и при этом выпускает бесплатные банковские карты MasterCard.

4. AdvCash - Офшорный банк находится в Белизе, можно открыть счет в долларах, евро, фунтах и рублях.

5. Payeer - Штаб квартира этой платежной системы находится в Грузии, тут так же можно открыть счет в долларах, евро и рублях.


Домен RU - 99 руб
Домен РФ - 99 руб

Этот документ поможет Вам выполнить подключение к Вашему виртуальному серверу по протоколам SSH и SFTP.

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

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

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

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

Нам необходимо знать IP адрес виртуального сервера (1) и пароль для пользователя root (2).

Получив необходимые данные для подключения, можно приступать непосредственно к процессу.

Подключение к виртуальному серверу по SSH из Mac OS X или Linux

Пользователи операционных систем Mac OS X или Linux могут использовать стандартное приложение terminal для подключения к виртуальному серверу по SSH протоколу. Для подключения к Вашему виртуальному серверу используйте следующую команду (измените 188.127.236.62 на IP адрес вашего виртуального сервера):

Ssh [email protected]

Так выглядит процесс подключения к виртуальному серверу в терминале Unix или Mac OS X:

Ssh [email protected] The authenticity of host "188.127.236.62 (188.127.236.62)" can"t be established. RSA key fingerprint is 4f:e8:84:42:51:80:48:70:45:6c:69:47:79:e7:c0:56. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added "188.127.236.62" (RSA) to the list of known hosts. [email protected]"s password: #

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

Пользователи операционной системы Windows могут использовать для соединения с виртуальным сервером по протоколу SSH программу PuTTY. PuTTY - очень популярный telnet/ssh клиент, распространяется бесплатно.

Официальный сайт программы - http://www.chiark.greenend.org.uk/~sgtatham/putty/ Русскоязычный сайт поддержки - http://putty.org.ru/

После запуска программы вы увидите следущее окно:

Введите в поле “Host Name (or IP address)” IP-адрес Вашего виртуального сервера (на примере вводится helios.asu). Убедитесь, чтобы в пункте “Protocol” была выбрана радио-кнорка “SSH”.

Также, для того, чтобы каждый раз не вводить адресс и тип протокола вы можете сохранить сессию. Для этого введите ее название в поле “Saved Sessions” и нажмите кнопку “Save”.

После этого ваша сессия появится ниже в списке. Для того чтобы загрузить сохраненную сессию нужно выбрать ее из списка и нажать кнопку “Load”.

Для подключения нажмите кнопку “Open” внизу формы. Может появиться следующее сообщение:

Если вы уверены в том, что подключаетесь к нужному хосту, то нажмите кнопку “Yes/Да”. Появится следующее:

Введите свой логин (root), затем пароль. Перед вами консоль системы:

Для выхода введите:

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

По умолчанию вам не нужно настраивать FileZilla, мы просто сразу начнём работать с программой.

Для того, чтобы подключиться к SFTP-серверу, введите IP-адрес вашего виртуального сервера в поле быстрого подключения (вместо example.com, как показано на рисунке ниже введите sftp://ip_адрес_вашего_vps). Введите порт подключения в соответствующее поле, для SFTP - 22. Введите имя пользователя и пароль, в соответствующие поля. Нажмите на кнопку “Быстрое соединение” или нажмите Enter для подключения.

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

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

После подключения, в правой стороне главного окна будет отображён список файлов и директорий. Текущая директория будет показана в редактируемом поле в верхней части. Ниже отображается удалённое дерево директорий, а ещё ниже - содержимое текущей удалённой директории. Перейти в другую директорию можно тремя разными путями. Первый: сделайте двойной щелчок на директории в списке. Второй: кликните на директории в дереве. Последний способ: введите имя директории в редактируемое поле и нажмите Enter. Обратите внимание на директорию “..”, присутствующую практически во всех остальных директориях. Эта ссылка позволяет вам перейти к родительскому каталогу текущей директории.

Навигация на вашем компьютере работает почти так же, как и на сервере. Текущая локальная директория и дерево каталогов по умолчанию отображаются на левой стороне главного окна.

Подробную документацию по работе с FileZilla, Вы можете найти на официальном сайте по адресу http://filezilla.ru/documentation/Using

Условия использования документа

Материал представленный на данной странице может быть использован Вами по своему усмотрению. Разрешается копирование и распространение предоставленного материала без изменения содержания и без предварительного уведомления администрации Clodo.ru .

Мы будем признательны Вам за сообщения об ошибках в представленной документации и за предложения об улучшении документации. По этим вопросам необходимо обращаться по адресу [email protected] . При обращении не забывайте указывать URL-адрес публикации.

В этой статье мы рассмотрим современные и удобные способы работы с сервером по 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 из различных ОС. Конечно это далеко не все, что возможно, но хорошая база для начала. Если вы нашли ошибку в статье, считаете, что нужно добавить что-то важное или просто у вас есть вопрос -

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

Порт SSH: что это и зачем нужно?

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

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

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

Стандартный порт SSH

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

Так, например, если в качестве клиента применяется Jabber, для корректного соединения, шифрования и передачи данных должен использоваться порт 443, хотя в стандартном варианте устанавливается порт 22.

Чтобы перенастроить маршрутизатор с выделением для определенной программы или процесса необходимых условий, придется выполнить проброс портов SSH. есть назначение определенного доступа для отдельно взятой программы, которая использует подключение к Интернету, вне зависимости от того, какие настройки имеет текущий протокол обмена данными (IPv4 или IPv6).

Техническое обоснование

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

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

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

История реализации

Сама технология появилась достаточно давно. Оставим пока в стороне вопрос того, как сделать проброс портов SSH, а остановимся на том, как все это работает.

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

Сама же технология, когда открывается порт SSH, была разработана еще в 1995 году в Технологическом университете Финляндии (SSH-1). В 1996 году было добавлено усовершенствование в виде протокола SSH-2, который получил достаточно большое распространение на постсоветском пространстве, хотя для этого, равно как и в некоторых странах Западной Европы, иногда необходимо получение разрешения на использование такого туннеля, причем от государственных органов.

Основным преимуществом открытия SSH-порта, в отличие от telnet или rlogin, считается применение цифровой подписи RSA или DSA (использование пары в виде открытого и зарытого ключа). Кроме того, в данной ситуации может использовать так называемый сеансовый ключ на основе алгоритма Диффи-Хеллмана, который подразумевает применение симметричного шифрования на выходе, хотя и не исключает использование алгоритмов асимметричного шифрования в процессе передачи данных и их приема другой машиной.

Серверы и оболочки

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

В этом смысле нужно обратить внимание на вопрос передачи информации и аутентификации. Во-первых, сам протокол оказывается достаточно защищенным от так называемого снифинга, представляющего собой самую обычную «прослушку» траффика. SSH-1 оказался беззащитным перед атаками. Вмешательство в процесс передачи данных в виде схемы «человек посередине» имело свои результаты. Информацию можно было просто перехватить и расшифровать совершенно элементарно. Зато вторая версия (SSH-2) была застрахована от подобного рода вмешательства, называемого session hijacking, благодаря чему и получила наибольшее распространение.

Запреты системы безопасности

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

  • определение ключа к хосту на стадии передачи, когда используется «слепок» fingerprint;
  • поддержка Windows и UNIX-подобных систем;
  • подмена адресов IP и DNS (spoofing);
  • перехват открытых паролей при физическом доступе к каналу передачи данных.

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

Туннелирование

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

Как правило, в Windows-системах это встроенный в программную оболочку драйвер Microsoft Teredo, представляющий собой некое виртуальное средство эмулирования протокола IPv6 в сетях с поддержкой только IPv4. по умолчанию находится в активном состоянии. В случае появления сбоев, с ним связанных, можно просто произвести перезапуск системы или выполнить команды отключения и рестарта в командной консоли. Для деактивации используются такие строки:

  • netsh;
  • interface teredo set state disabled;
  • interface isatap set state disabled.

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

SSH-сервер

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

Самыми распространенными SSH-серверами принято считать следующие:

  • для Windows: Tectia SSH Server, OpenSSH с Cygwin, MobaSSH, KpyM Telnet/SSH Server, WinSSHD, copssh, freeSSHd;
  • для FreeBSD: OpenSSH;
  • для Linux: Tectia SSH Server, ssh, openssh-server, lsh-server, dropbear.

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

SSH-клиент

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

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

  • Windows - SecureCRT, PuTTY\KiTTY, Axessh, ShellGuard, SSHWindows, ZOC, XShell, ProSSHD и т. д.;
  • Mac OS X: iTerm2, vSSH, NiftyTelnet SSH;
  • Linux и BSD: lsh-client, kdessh, openssh-client, Vinagre, putty.

Аутентификация на основе открытых ключей и изменение порта

Теперь несколько слов о том, как происходит верификация и настройка сервера. В самом простом случае необходимо использовать файл конфигурации (sshd_config). Однако можно обойтись и без этого, например, в случае использования программ вроде PuTTY. Изменить порт SSH со стандартного значения (22) на любое другое можно совершенно элементарно.

Главное - чтобы номер открываемого порта не превышал значение 65535 (выше портов просто не бывает в природе). К тому же следует обратить внимание на некоторые открытые по умолчанию порты, которые могут использоваться клиентами вроде MySQL или базами данных FTPD. Если указать для SSH их конфигурацию, понятное дело, те просто перестанут работать.

Стоит учесть, что тот же клиент Jabber должен быть запущен в одной среде с использованием SSH-сервера, например, на виртуальной машине. А самому серверу localhost необходимо будет присвоение значения 4430 (а не 443, как было указано выше). Такая конфигурация может использоваться в том случае, когда доступ к основному файлу jabber.example.com блокируется файрволом.

С другой стороны, перебросить порты можно и на самом маршрутизаторе, используя для этого настройки его интерфейса с созданием правил исключения. На большинстве моделей вход осуществляется через ввод адресов, начинающихся с 192.168 с добавлением 0.1 или 1.1, но на роутерах, совмещающих возможности ADSL-модемов вроде Mikrotik, конечный адрес предполагает использование 88.1.

В этом случае создается новое правило, после этого устанавливаются необходимые параметры, например, для установки внешнего подключения dst-nat, а также вручную прописываются порты не в разделе общих настроек, и в разделе предпочтений активных действий (Action). Ничего особо сложного здесь нет. Главное - указать необходимые значения настроек и установить правильный порт. По умолчанию можно использовать порт 22, но, если используется специализированный клиент (какой-то из вышеуказанных для разных систем), значение можно менять произвольно, но только так, чтобы этот параметр не превышал заявленное значение, выше которого номера портов просто отсутствуют.

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

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

Для преобразования ключа и самого метода шифрования может применяться команда ~/.ssh/id_dsa (или rsa). Для создания публичного ключа используется преобразование при помощи строки ~/.ssh/identity.pub (но это не обязательно). Но, как показывает практика, проще всего использовать команды вроде ssh-keygen. Тут суть вопроса сводится только к тому, чтобы добавить ключ к доступным инструментам авторизации (~/.ssh/authorized_keys).

Но мы зашли слишком далеко. Если возвращаться к вопросу настройки порта SSH, как уже понятно, изменить порт SSH не так уж и сложно. Правда, в некоторых ситуациях, что называется, придется попотеть, поскольку нужно будет учесть все значения основных параметров. В остальном же вопрос настройки сводится либо ко входу в серверную или клиентскую программу (если это предусмотрено изначально), либо к использованию проброса портов на маршрутизаторе. Но даже в случае изменения порта 22, установленного по умолчанию, на тот же 443-й, нужно четко понимать, что такая схема работает не всегда, а только в случае с установкой той же надстройки Jabber (другие аналоги могут задействовать и соответствующие им порты, отличающиеся от стандартных). Кроме того, особое внимание следует уделить выставлению параметров SSH-клиента, который будет непосредственно взаимодействовать с SSH-сервером, если таковое действительно предполагается в использовании текущего подключения.

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

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

Итак, ssh у нас уже установлен и ssh-daemon добавлен в автозагрузку при старте системы. Управлять им можно по команде:

service ssh stop|start|restart

В Ubuntu, или:

/etc/init.d/ssh {start|stop|reload|force-reload|restart|status}

В Debian, или:

systemctl start|stop|restart sshd.service

В ArchLinux (после каждой правки конфига нужно делать рестарт). В комплект входит клиент и сервер.

Опробуем в деле! Для начала создайте папку ~/.ssh

mkdir ~/.ssh

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

ssh-keygen (от имени обычного пользователя).

При генерации, вы можете задать парольную фразу для ключа (желательно задать, и длинную - тогда даже заполучив ключ но не зная пароль от ключа, злоумышленник не сможет залогинится), а можете пропустить, просто нажав "Enter" - в таком случае, пароль никогда не спросится. В папке ~/.ssh появились те самые публичный и закрытый ключ.

Найдите ещё одну машину (даже смартфон подойдет - на Android есть несколько замечательных SSH-клиентов, вроде ConnectBot или JuiceSSH), установите на ней ssh и подключитесь к серверу командой:

ssh user@server

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

Для Windows, к слову, также есть сервера и клиенты ssh.

Насладившись результатом трудов своих, приступим к ещё более скучной части - настройке клиента/сервера.

Конфиг клиентской части лежит в /etc/ssh/ssh_config , а серверной - /etc/ssh/sshd_config . Наиболее полным руководством по настройке является, пожалуй, страница в man - man ssh и man sshd_config, так что рекомендуем прочититать её. А в данной статье рассмотрим наиболее необходимые вещи.

Настройка

Стандартный порт ssh - 22. Его можно сменить на любой нестандартный (усложняя возможный взлом благодаря безопасности через неясность, или же для привлечения внимания потенциальных взломщиков:) - для этого расскомментируйте строчку:

#Port 22

И добавьте любой желаемый до 65535 (убедившись, что порт не конфликтует с другими сервисами командой #netstat -tupln | grep LISTEN ).

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

ssh -p [порт] :

По умолчанию доступ от имени root разрешен. Крайне желательно ограничить его (и вместо этого правильно разграничить права локального пользователя с помощью sudo). Для этого найдите строчку "PermitRootLogin" и смените значение на "no". Можно также сменить на "without-password" - в таком случае, логин под рутом будет разрешен только из под машин с доверенным ключом.

Можно отключить аутентификацию по паролю и работать только с ключами - найдите строчку: "PasswordAuthentication" и смените значение на "no". Зачем? Если кто-то очень захочет получить доступ к вашей системе, то он сможет либо перебрать пароль при попытках авторизации, либо прослушать и расшифровать ваше соединение. Если отключить аутентификацию по паролю и добавить в ~/.ssh/authorized_keys на сервере публичный ключ своего, например, рабочего ноутбука, то, как мы помним, нас пустит на сервер сразу. Но как быть, если вы работаете на чужой машине и срочно нужно получить доступ на ssh-сервер, а он нас ожидаемо не пускает? Тогда можно не отключать парольную аутентификацию, а воспользоваться утилитой fail2ban. Просто установите её из вашего репозитория, после чего она применит настройки по умолчанию и, как минимум, защитит ваш ssh-канал от взлома методом перебора. Подробнее о fail2ban - http://putty.org.ru/articles/fail2ban-ssh.html.

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

PermitRootLogin no - запрещен логин под рутом.

PasswordAuthentication no - вход без пароля

Сгенерируем на удаленной машине длинный ключ (-t тип_шифрования, -b битовая длина):

ssh-keygen -t rsa -b 4096

С не менее сложной парольной фразой (восстановить забытый пароль, к слову, нельзя. Можно сменить его командой "ssh-keygen -p", но с вас в любом случае спросят старый). Перенесем публичный ключ удаленной локальной машины в ~/.ssh/authorized_keys сервера, и вуаля - теперь доступ можно получить с единственной машины, с помощью парольной фразы зыкрытого ключа. SSH позволяет настроить множество конфигураций безопасности и имеет для этого множество специфичных настроек - о них читайте в man.

Этим же целям служат два параметра sshd_config:

LoginGraceTime - задает время, по истечении которого будет разорвано соединение, если не произойдет аутентификация.

MaxAuthTries - задает количество неверных попыток ввода логина, по достижении которого соединение будет разорвано.

MaxSessions - количество одновременных сессий (если сервер - ваш домашний компьютер, к которому вы собираетесь подключаться из универа или с работы, то разумно будет ограничить число сессий до одной - отклоненный логин, в таком случае, станет поводом для повышения паранойи, генерации новых ключей и смены пароля). Впрочем, если вы внимательны, то могли заметить, что при каждом логине на сервер высвечивается строчка "Last Login". Помимо неё, можно добавить собственное приветственное сообщение - найдите строчку "Banner" и вместо none задайте путь к файлу с текстом, который будет прочитан и выведен при логине.

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

AllowUsers user1 - разрешить вход только user1.

DenyUsers user1 - разрешить всем, кроме user1.

И аналогичные параметры для доступа определенных групп - AllowGroups и DenyGroups.

Также по SSH можно передавать сеанс X11. Для этого найдите строчку "ForwardX11" и измените значение на "yes".

Аналогичную строку найдите в конфиге клиента - /etc/ssh/ssh_config, и также смените на "yes".

Теперь присоединяться к серверу по ssh нужно с аргументом -X:

ssh -X user@server>

Можно сразу запуcтить приложение при коннекте:

ssh -X user@server "приложение"

Вот так выглядит работающий GIMP в ssh-сессии:

Или можно получить вывод с веб-камеры ноутбука ничего не подозревающего пользователя:)

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

По SSH-сессии можно также копировать файлы - для этого есть простенькая утилита "scp". Передавать файлы можно прямо в сессии как с сервера на клиент:

scp user@server:/путь/к/файлу/на/сервере /куда/сохранить/на/локальной/машине

Так и с клиента на сервер:

scp путь/к/файлу/клиента user@server:/путь/на/сервере

Это достаточно удобно, если нужно скопировать текстовик или фотографию, но как быть, когда предстоит работа с многими файлами? Для этого существует удобнейшая вещь - sshfs (доступна для установки в репозиториях большинства *nix-систем).

Просто задайте путь аналогично scp:

sshfs user@server:/home/user /mnt/

И папка /home/user сервера появится в точке монтирования /mnt локальной машины!

Отмонтирование производится через umount.

И, напоследок, расскажем об одной малоизвестной фиче. Если создать файл /.ssh/config и заполнить его подобным образом:

Host [имя]

Hostname

User [имя пользователя сервера]

желаемые опции

вроде

ForwardX11 yes

Port 30000

То можно будем логиниться по:

ssh [имя]

ssh -X -p 30000 user@server

И все опции подхватятся автоматически. Таким образом, при частой аутентификации на определенном сервере, вы упростите этот процесс к делу пары мгновений.

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