ssh на роутере что это
Router основы. SSH
Данный раздел посвящен настройке роутера из “коробки”.
Когда роутер загружается и не находит файла конфигурации (startup-config), он предлагает пройти процесс первичной настройки. Этот процесс рассматриваться не будет и при настройке нового роутера, мы будем пропускать этот процесс.
Общая информация
Packet Tracer version: 6.2.0
Рабочий файл: скачать
Тип: Теория и практика
Версия файла: 2.0
Уже получили: 93 пользователей
Получить достижение
Код активации можно получить выполнив практическое задание
Уже получили 96 пользователей
Начальные данные
В данной практической работе будет использоваться схема сети, которая представлена на рисунке ниже.
Схема сети для практической работы
Все “манипуляции” с роутером можно осуществлять только при помощи PC0 (либо с других PC в сети).
В данной практической работе необходимо спланировать две подсети, в одной будет 15 сотрудников, а в другой 513. Адресация не должна выходить за рамки диапазона 10.18.0.0 – 10.18.4.255 (это просто “какой-то” диапазон ip адресов!).
Выполнение
Спланировать адресацию сети, на основе первоначальных данных
Здесь надо вспомнить раздел бесклассовой адресации, где были примеры нахождения номера сети, полагаясь на количество пользователей. Здесь этот процесс рассматриваться не будет.
Для 513 пользователей мы будем использовать подсеть 10.18.0.0/22, с диапазоном доступных адресов 10.18.0.1 – 10.18.3.254.
Для 15 пользователей мы будем использовать подсеть 10.18.4.0/27, с диапазоном доступных адресов 10.18.4.1 – 10.18.4.30.
Интерфейсы у роутера:
Указанные интерфейсы будут являться шлюзами по умолчанию (gateway).
Выполнить базовую настройку роутера
Что бы приступить к настройке R1, надо подключиться к нему консолью с PC0. Первое, что вы увидите:
У роутера из “коробки” (без файла конфигурации startup-config) все порты находятся в состоянии administratively down, т.е. выключены. Настроим порты роутера, указав ip адреса, обозначенные в первом пункте. (
предварительно переименуйте его в R1, это критерий достижения
Теперь распределим ip адреса по компьютерам в сети (в дальнейшем мы научимся использовать DHCP и распределение будет происходить динамически):
Рисунок 1.1 Настройка ip адреса на PC0
Рисунок 1.2 Проверка доступности R1 c PC0
Изучить таблицу маршрутизации, arp-таблицу, рассмотреть основные show команды для изучения интерфейсов
В самом начале вывода этой команды, есть дополнение под названием Codes – список используемых символов и их описание. После слов Gateway of last resort is not set (что означает эта фраза, мы узнаем в одном из следующих разделов) идет таблица маршрутизации. Первой строчкой указана классовая сеть 10.0.0.0/8 и сообщается, что она разделена на подсети, которые мы можем видеть под ней. Символ C означает connected (эта информация есть в Codes) или подключенный напрямую (directly connected). Т.е. роутер знает о существовании двух подсетей, подключенных к нему напрямую – 10.18.0.0/22 к интерфейсу FastEthernet0/0 и 10.18.4.0/27 к интерфейсу FastEthernet0/1.
Раз роутер знает маршрут, то может пропускать пакеты между этими сетями. Еще раз убедитесь, что Gateway прописан на всех PC правильно и после этого можно проверять доступность PC4 c компьютера PC2, рисунок 1.3 (на рисунке, Request timed out, говорит о том, что на первый запрос PC2 не дождался ответа – Request timed out, это нормально, если вы повторите команду, потерь больше не будет).
Рисунок 1.3 Проверка доступности PC4 c PC2
Что полезного мы можем вынести из это таблицы? Во-первых соотношение ip адреса и MAC адреса. Во-вторых интерфейс на котором находится это устройство. В-третьих мы можем узнать когда впервые роутер узнал ARP-запись (Age (min) – возраст в минутах). По умолчанию, каждая ARP-запись находится 4 часа, а после удаляется.
ARP-таблица может пригодиться для поиска устройства в сети по ip адресу. В начале мы ищем соответствующую ip адресу ARP-запись, что бы найти MAC адрес, а после, при помощи таблицы коммутации (таблицы MAC адресов), ищем на каком порту какого коммутатора он находится.
Есть так же команды show ip interface (рассматриваться не будет) и show interfaces (либо show interface для просмотра информации по конкретному интерфейсу).
Здесь можно найти очень много полезной информации. Интерфейс в рабочем состоянии, имеет статус up (так же могут быть состояния down – физически выключен, провод не вставлен или administratively down – выключен программно, например, при помощи команды shutdown ). Так же MAC адрес интерфейса (Hardware address), ip адрес (Internet address), MTU (что такое MTU). Бывает очень полезно узнать когда последний раз принимались (Last input 00:00:08) или передавались (output 00:00:05) данные с этого интерфейса, а так же статистику скорости передачи, приема за пять минут (5 minute input/output rate 0 bits/sec, 0 packets/sec). Очень полезная информация об ошибках на интерфейсе. В строчке Input queue: 0/75/0 предпоследнее число отвечает за кол-пакетов, которые могут содержаться в буфере, а последнее число показывает сколько пакетов было отброшено при переполнении буфера. Строчка input errors показывает сколько всего было замечено пакетов с ошибками. Более подробную информацию вы можете найти тут.
Настройка ssh, telnet с использованием логина/пароля
Готово. Теперь у нас есть первый пользователь с максимальными правами. Прежде чем переходить к настройке ssh, настроим telnet авторизацию по логин/паролю (до этого была авторизация только по паролю).
Команда login local означает, что авторизовать (пользователя) надо из локальной базы пользователей. Раньше мы указывали команду privilege level 15 с помощью которой все пользователи подключенные по telnet получали максимальные права, но теперь мы научились выставлять права отдельные для каждого пользователя. Давайте подключимся к R1 c PC0, рисунок 1.4.
Рисунок 1.4 Telnet к R1
Теперь мы можем приступить к настройке Secure Shell (ssh).
Установили доменное имя ciscolearning.ru. После запуска процесса генерации, роутер предлагает выбрать размер ключа (чем больше ключ, тем безопасней, но тем больше тратиться процессорное время на шифрование/дешифрование), по умолчанию 512 бит, в нашем примере мы сгенерировали ключ на 1024 бита.
Рисунок 1.5 SSH к R1
Ниже представлен “копипаст”, для быстрой настройки ssh.
SSH, Telnet и командная строка
From DD-WRT Wiki
Contents
[edit] Telnet
[edit] SSH
[edit] Обзор
SSH, или Secure Shell, является зашифрованным протоколом и связанной программой, предназначенной для замены telnet. Его также можно использовать для создания безопасных туннелей, что-то вроде виртуальных частных сетей VPN, и для использования в качестве сетевой файловой системы (SSHFS). По умолчанию SSH работает на порту 22.
SSH работает так же, как telnet с комбинацией имени пользователя и пароля, или на основе открытого и закрытого ключей. Чтобы последние работали, серверу предоставляется короткий открытый ключ, а сервер отдает клиенту свой открытый ключ. Клиент шифрует информацию, отправляемую на сервер, используя открытый ключ сервера, а сервер шифрует информацию, отправляемую клиенту, используя открытый ключ от клиента. Закрытые ключи никуда не отправляются и используются для расшифровки полученной информации, зашифрованной с помощью соответствующего открытого ключа.
Подключение к DD-WRT может выполняться с использованием имени пользователя и пароля или только от клиентов, чьи открытые ключи были введены вручную через веб-интерфейс. Несколько ключей можно ввести, разместив каждый в отдельной строке. Если вы хотите использовать имя пользователя и пароль для входа в систему с использованием SSH, используйте имя «root» с паролем, который установлен для веб-интерфейса.
На самом деле можно вручную установить (через telnet или SSH) переменную NVRAM sshd_authorized_keys командой:
Также можно вручную отредактировать файл /tmp/root/.ssh/authorized_keys и добавить в него ключи (хотя они исчезнут при перезагрузке, если у вас нет автоматически запускающегося сценария командной строки, изменяющего файл).
[edit] Настройка
[edit] Подключение с использованием открытого ключа
Аутентификация с открытым ключом является одним из самых безопасных методов входа в SSH. Он функционирует подобно HTTPS, поскольку все передачи зашифрованы ключом, который будут иметь только клиент и сервер. Еще один плюс в том, что если вы используете этот метод вместо аутентификации по паролю, никто не сможет взломать маршрутизатор, пытаясь угадать пароль!
Чтобы включить его, сначала нужно сгенерировать пару открытого и закрытого ключей на компьютере. Это можно сделать с помощью утилиты «Puttygen», если вы используете в качестве программы-клиента Putty или WinSCP. Скопируйте открытый ключ из области public key в буфер обмена и сохраните закрытый ключ где-нибудь на компьютере. Нет необходимости сохранять открытый ключ. Если вы его забудете, всегда можно открыть файл закрытого ключа в программе Puttygen, которая покажет открытый ключ, а не генерировать новую пару ключей. Пользователи операционных систем, отличных от Windows, могут использовать утилиту ssh-keygen(1):
Рекомендуется не защищать свою пару ключей паролем, поскольку это облегчит вам задачу, хотя и менее безопасно.
ПРИМЕЧАНИЕ. Формат открытого ключа при вставке должен быть: «ssh-rsa», пробел, ключ, пробел, комментарий. Например (обратите внимание, что в конце не должно быть перевода строки):
Не забудьте ввести ключ как целую строку символов (без пробелов, табуляции и т.п.).
[edit] Подключение с использованием имени пользователя и пароля
Если вы не хотите создавать SSH-ключи, можно использовать вход в систему с использованием имени пользователя и пароля. Однако учтите, что этот метод гораздо менее безопасен (пароли могут быть менее 8 символов)!
После этого вы можете войти в систему, используя имя пользователя «root» с паролем, который установлен для веб-интерфейса.
[edit] Автоматический вход (для сценариев оболочки)
SSH-клиент Dropbear позволяет указывать пароль через переменную окружения. Это полезно, когда нужно чтобы DD-WRT выполнял автоматическое подключение к другому устройству по SSH.
[edit] Советы по безопасности
[edit] SSH-клиент
Обеспечивает безопасную альтернативу стандартному Telnet.
Настройте клиент для использования закрытого ключа, который вы сохранили ранее.
В большинство дистрибутивов Linux по умолчанию включены программы-клиенты для Telnet и SSH.
[edit] Переадресация SSH-порта
[edit] Переадресация локального порта
Пример из реального мира:
Предположим, что вы хотите управлять настройками маршрутизатора из любой точки Интернета. Хотите использовать веб-интерфейс, но не хотите включать управление через удаленный HTTP (небезопасно) или HTTPS (ресурсоемко). Как этого достичь?
Именно здесь нужна переадресация порта SSH. Эта функция позволяет безопасно подключаться к веб-интерфейсу маршрутизатора, даже если интерфейс настроен так, что он доступен только для компьютеров в локальной сети маршрутизатора.
Во-первых, в разделе Administration → Management необходимо включить параметр ‘Remote SSH Management’, если хотите подключиться к маршрутизатору из глобальной сети WAN.
Переадресация локального порта может быть установлена из интерфейса командной строки следующей командой:
Откройте браузер и перейдите по адресу http://localhost:12345, и вы сможете войти в веб-интерфейс маршрутизатора, как если бы находились в локальной сети маршрутизатора. Это соединение безопасно!
Если вы используете PuTTY, процедура аналогична. Переадресация порта SSH настраивается в разделе SSH → Tunnels.
Примечание пользователя Brandonc: при использовании PuTTY из репозитория Ubuntu соединение завершается после входа в веб-интерфейс, выдавая ошибку: «SSH2_MSG_CHANNEL_FAILURE for nonexistent channel 257» (23:44, 2 августа 2012 г.).
Для получения дополнительной информации, связанной с настройкой туннеля, смотрите обсуждение на форуме.
[edit] Переадресация удаленного порта
Это полезно для туннелирования таких вещей, как удаленный рабочий стол (Remote Desktop, RDP) по зашифрованному туннелю SSH через Интернет. Например, вы хотите иметь доступ к вашему рабочему компьютеру из дома:
Домашний компьютер ↔ Маршрутизатор ↔ Интернет ↔ Брандмауэр ↔ Рабочий компьютер
На домашнем компьютере можно использовать RDP-клиент для подключения к порту 5555 на маршрутизаторе, и это создаст SSH-туннель, который подключит домашний компьютер к порту 3389 на рабочем компьютере.
[edit] Требования
[edit] Настройка
Настроить переадресацию удаленного порта относительно просто при использовании утилиты PuTTY для Windows. См. Connections → SSH → Tunnels. Убедитесь, что ваша конфигурация включает параметры, как показано выше. А именно:
[edit] SCP
Технология Secure Copy (SCP, с англ. «Защищенное копирование») позволяет безопасно копировать файлы с компьютера на маршрутизатор и обратно.
Настройте клиент для использования закрытого ключа, сохраненного ранее, или используйте вход по имени пользователя «root» и паролю от веб-интерфейса.
Помните: только разделы /tmp и /jffs доступны для записи!
[edit] Drop Bear
Если на компьютере есть сервер SSH (например, OpenSSH), вы можете получить файлы с компьютера с помощью команды scp. Её можно использовать в автоматически запускаемых сценариях.
[edit] Командная строка DD-WRT
[edit] Основной синтаксис
Командная оболочка Linux (Linux Command Shell, Ash) отличается от командной строки Windows и DOS.
Символ / (а не \) используется для разделения каталогов при указании как локальных, так и сетевых путей.
Для выполнения команды необходимо указать путь к этой команде. Это может быть либо полный путь, либо относительный (relative path).
[edit] Операторы относительного пути
Есть два оператора относительного пути.
[edit] Примеры
1) Если вы находитесь в каталоге /jffs/usr/bin и хотите запустить команду /jffs/usr/bin/noip, используйте:
2) Если вы находитесь в каталоге /jffs/usr/bin и хотите запустить команду /jffs/usr/kismet, используйте:
обратите внимание, что первый ../ приводит нас к /jffs/usr/. Второй ../ приводит к /jffs/. А затем можно добавить оставшуюся часть пути.
4) Хотя во всех других примерах показан минимально необходимый текст команды, с относительными путями также можно сотворить что-нибудь этакое. Чтобы запустить команду noip, как в примере 1, можно использовать:
Здесь мы проходим весь путь до корневого каталога /, затем переходим к /jffs/usr/bin, возвращаемся к /jffs/usr и, наконец, к /jffs/usr/bin.
Ссылки на текущий каталог /./ добавляются время от времени просто для того, чтобы вас запутать. Обратите внимание, что /./ всегда ссылается на текущий каталог.
[edit] Операторы конвеера и перенаправления
Pipe (конвеер) и Redirect (перенаправление) – это каналы взаимодействия между разными командами. Вывод одной команды (stdout) может быть передан на вход другой (stdin), как по конвееру, или перенаправлен в устройство или файл.
берет вывод команды и направляет его в устройство или файл.
Например, если вы не хотите видеть вывод команды, перенаправьте ее на устройство null:
Это особенно полезно для таких команд, как nvram show, которая выводит около 800-1200 строк одновременно. Команда nvram show | more будет отображать результаты по одной странице за раз.
[edit] Фоновые процессы
Можно запускать программы в фоновом режиме (немедленно возвращает вас в командную строку), заканчивая команду символом &. Например:
Убедитесь, что добавили пробел между командой и амперсандом, иначе получите ошибку File not found («Файл не найден»).
[edit] Примечание по командной строке веб-интерфейса
Встроенный интерфейс командной строки веб-интерфейса DD-WRT (страница Diagnostics.asp) допускает максимум около 200 символов в строке.
Например, если вы хотите установить значение текстового параметра NVRAM:
[edit] Основные команды
[edit] Продвинутые команды
Для следующих команд имеются отдельные страницы Wiki:
Как зайти в настройки роутера
Стандартные настройки украшают этикетку. Список содержит IP-адрес, логин, пароль. Откройте браузер, введите 192.168.0.1 (реже 192.168.1.1), админка позволит выполнить типовые настройки. Методика работает исключительно через локальные порты, включая интерфейс Wi-Fi. Поэтому войти может любой сосед, прохожий. Тщательно защищайте веб-интерфейс.
Извне доступ также имеется, однако доступ к роутеру следует прежде открыть. Реальная инструкция определяется производителем. Например, зайдя в настройки Smart Box Beeline, видим (раздел Об этом роутере) ссылку Разрешить. После перезагрузки оборудование попросит ввести IP-адрес (выбран порт 8080) управляющей станции. Доступны крайние варианты: любой (255.255.255.255), полный запрет (0.0.0.0). Значение порта можно (даже нужно) менять, избегая присвоения цифр, используемых стандартными службами.
Ограничения удалённого доступа
Любой ПК интернета получает уникальный IP. Согласно подсчётам, ограничение протокола IPv4 составляет 4 294 967 296 машин. Конфликт практически исключён. Однако маячит новое требование: маршрутизатор обязан иметь уникальный, видимый извне идентификатор.
Сетевой адрес присваивает владелец. Например, вид IP локальной сети чаще следующий: 168.0.Х
Извне посмотреть идентификатор компьютера прямыми методиками нельзя. Цифры содержит таблица маршрутизации, спрятанная оперативной памятью устройства. Однако пользователь извне легально конфигурацию получить бессилен. Хозяйские компьютеры, посетив специализированный сайт, определяющий IP, увидят идентичную картину. Цифры совпадают!
Аналогичным образом иногда провайдер отказывается давать абонентам уникальные комбинации. Вместо этого используется «серая» адресация. Тогда попасть в меню снаружи невозможно.
Заполучив «белый» адрес, подключаетесь извне, используя известные цифры. Проблема одна: большинство провайдеров после перезагрузки осуществляет повторное присваивание. Следовательно, текущую конфигурацию следует пристально отслеживать.
Штатный вариант
Удалённый доступ предварительно разрешают. Приведём список настроек:
После этого из любой точки мира открывший браузер, набравший IP-адрес роутера, выставивший (через двоеточие порт) способен подключиться для настройки.
Лазейка
Энтузиасты предлагают обходной путь: установку специализированного обеспечения удалённого управления на ПК (наподобие Удалённого рабочего стола Windows). Например, Team Viewer. Процесс идёт опосредованно:
Стандартный локальный (браузерный) вариант
Подключитесь кабелем к любому внутреннему порту (LAN), либо используйте беспроводной протокол (Wi-Fi):
Telnet
Протокол широко используется для организации двустороннего взаимодействия устройств. Иногда используют специальное приложение (Terminal), чаще – командную строку. Линуксоиды отрывают встроенный терминал среды (выше приведено название программы Windows). Соединение использует протокол TCP, ориентируется на байты длиной 8 бит (стандартные значения).
История
Telnet стал первым протоколом (1969), использованным создателями оборонной сети США. Описан документом RFC 15. Стандарт STD 8 (1983) снабдил компьютерщиков мощным средством общения. Оригинальное название образовано двумя словами:
Напомним, телетайпом называют удалённую печатную машину, управляемую цифровыми сигналами. Использование подобных ухищрений сильно экономит трафик, требуя минимальных затрат битрейта. В 1969 году компания BBN поставила 4 интерфейса связи (аналог роутера с программным управлением) армии США. 29 октября состоялся тест. История тщательно замалчивается, однако книга The computing universe: A journey through a revolution (Тони Хей, Гьюри Папай) раскрывает детали…
«Протокол взаимодействия гигантского вычислителя с сетевым интерфейсом связи разработан весной (1969) Робертом Каном (BBN Report 1822). В Лос-Анджелесе программной реализацией занялись избранные Кляйнроком студенты (Стив Крокер, Винт Серф, Джон Постел, Чарли Кляйн). Ребята находили забавным выполнение оборонного заказа в период обучения.
Программным обеспечением взаимной связи четырёх интерфейсов занялись также студенты, именовавшие себя Network Working Group, выпустившие серию заметок Requests for comments, ставшую началом семейства стандартов RFC (см. выше). Взаимодействие разнородных вычислителей потребовало введения общих соглашений, названных протоколом. Слово позаимствовано у древних греков, обозначало первый лист манускриптов, приводивший содержание, даты, имена авторов. Программисты обрисовали форматы заголовков.
Нижний слой протокола описывал структуру кадров. Первые приложения представляли собой консоли удалённого управления вычислителями. Попутно появился первый аналог FTP для пересылки файлов. Удалённое приложение получило новое название Telnet.»
Sigma-7 (Лос-Анджелес) послал первое слово (login) Scientific Data Systems 940 (Калифорния).
Использование
Читатели уже догадались: администратор через командную строку осуществляет подключение, повторяя опыт американских студентов 1969 года. Годится любая оболочка терминала, либо используйте штатную:
Примечание! Иногда компонент Windows, отвечающий за реализацию протокола, отключён. Задействуйте опцию. В строке поиска наберите «включение и отключение компонентов», найдите Клиент Telnet, установите галочку, жмите ОК.
Оставляйте после адреса пробел. Появится предложение ввести логин, пароль. Правильно ответит только маршрутизатор, поддерживающий протокол, например, DIR300 (последняя версия прошивки). Внешний вид интерфейса определяет разработчик, универсальной инструкции нет.
Примеры
Рассмотрим несколько примеров настройки и управления.
Zyxel
Первый терминальный протокол посылал открытый текст. Хакеры легко перехватят трансляцию. Однако оборонная промышленность США была непуганым воробьём после запуска Гагарина. Злоумышленники появились много позже. Протокол прикладного уровня (иерархии OSI) SSH исправляет указанный недочёт. Оболочка формата клиент-сервер поддерживается практически исключительно профессиональными маршрутизаторами.
Передаваемые через интернет данные зашифрованы, чтобы хакеры не смогли перехватить процесс. Система SSH считается родной для UNIX-подобных систем, Билли Гейтс (2015) обещал ввести поддержку Windows.
История
Первая версия появилась после выхода Окон (1995): исследователя Университета технологий Хельсинки достали хакерские снифферы, выкрадывающие пароли. Telnet явно дал маху. Остальные протоколы – rlogin, ftp, rsh – мало помогали. Отсутствовала жёсткая система аутентификации.
Релиз июля 1995 распространялся совершенно свободно. Поэтому новый (1996) год встретили 20.000 новоиспечённых юзеров финского софта. Тату Йлёнен немедля создав сообщество. Последующие версии протокола стали проприетарными. Миллениум застал уже 2 млн. желающих засекретить учётные данные.
2006 год принёс миру вторую версию SSH. Новые алгоритмы эксплуатировали преимущества протокола Диффи-Хеллмана. Теперь админ мог запускать параллельно несколько сессий. Затею подхватил комитет RFC.
Параллельно предпринимались попытки разработать открытое ПО. Разработчики (1999) перетрясли версию 1.2.12. Идею подхватили создатели OpenBSD, снабдив очередной релиз (2.6) пристройкой OpenSSH. Наметилась тенденция переноса обеспечения в иные операционные системы. Сегодня разработка считается кросс-платформенной.
Пример
Теоретический аспект позиционирует SSH, как попытку найти защиту против хакерского вмешательства в роутер. Руководство TP-Link предлагает качать PuTTY. Доступно 2 метода авторизации:
SSH-связь следует предварительно разрешить. При невозможности физического контакта осуществите первичный вход через Telnet (введя команду ssh server). Список команд SSH приводит руководство роутера.
Внимание! Роутер должен поддерживать выбранный тип шифрования (AES, Archfour, 3DES, Blowfish…).
Парольный доступ
После установки разрешений открывайте терминал PuTTY:
Публичный ключ
После этого публичный ключ можно скачать при наличии доступа. Например, используя консоль telnet. Получив ключ, сохраните файл, затем:
Фиаско
Не получается войти, не открываются настройки – выполните аппаратный сброс маршрутизатора.
Значения сброшенных параметров находятся на наклейке. Следует открыть браузер, перейти по указанному IP-адресу, ввести логин/пароль, настроить сеть должным образом.
Отказ роутера может возникать после неправильно проведённого обновления программного обеспечения: прервалось питание, либо проблема в Wi-Fi (обновлять следует только через провод). Тогда модуль становится грудой хлама. Имеются общедоступные инструкции восстановления работоспособности.
Официальный сайт ASUS снабжает покупателей утилитой Firmware Restoration (посетите страничку загрузок приобретённой модели).
Zyxel поставляет Keenetic recovery utility. Постоянно выявляются новые методики третьих лиц. Настоящие проблемы начнутся у использовавших сотовый 4G…