Как создать ssh-сервер в Linux

Обновлено: 03.07.2024

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

Содержание

Как установить SSH-сервер в Linux

SSH-сервер обычно поставляется в виде легко устанавливаемого пакета в большинстве дистрибутивов Linux. Однако он не всегда устанавливается по умолчанию. Вы можете попробовать ssh localhost, чтобы проверить, работает ли он; если он отвечает чем-то вроде Connection reject , значит, он не запущен.

В дистрибутивах, производных от Debian, команда для установки SSH-сервера обычно выглядит следующим образом:

В дистрибутивах, производных от Red Hat, команда обычно выглядит так:

Эти команды должны выполняться от имени пользователя root .

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

Чтобы получить SSH-сервер для Windows, см. Tectia SSH . Чтобы получить его для мейнфреймов IBM z/OS, см. Tectia SSH для мейнфреймов.

Запуск и роли различных процессов sshd

Процесс sshd запускается при загрузке системы. Программа обычно находится в /usr/sbin/sshd. Он работает как root . Начальный процесс действует как главный сервер, прослушивающий входящие соединения. Как правило, это процесс с самым низким идентификатором процесса или тот, который работает дольше всего. Это также родительский процесс для всех остальных процессов sshd. Следующая команда может использоваться для отображения дерева процессов в Linux, и легко увидеть, какой из них является родительским процессом.

Например, в следующем выводе легко увидеть, что процесс 2183 является главным сервером.

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

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

Также можно завершить отдельные процессы, уничтожив серверный процесс для определенного пользователя, терминала или команды. Это можно сделать, например, с помощью kill -9

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

SSHD — это серверный процесс SSH в Linux

Файл конфигурации

Сервер SSH имеет файл конфигурации, обычно /etc/sshd/sshd_config . Файл конфигурации определяет параметры шифрования, параметры проверки подлинности, расположение файлов, ведение журнала и различные другие параметры. Подробное описание см. в документации по sshd_config.

Ведение журнала

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

В большинстве систем системный журнал по умолчанию регистрирует сообщения, связанные с SSH, в файлы в каталоге /var/log/ . В системах, производных от Debian, файл журнала по умолчанию обычно имеет вид /var/log/auth.log . В системах, производных от Red Hat, файл журнала по умолчанию обычно называется /var/log/secure .

В файле конфигурации сервера можно настроить как средство системного журнала, так и уровень ведения журнала. Настоятельно рекомендуется установить уровень ведения журнала VERBOSE, чтобы правильно регистрировались отпечатки пальцев для доступа к ключу SSH. Новейшие версии OpenSSH могут регистрировать их автоматически, но многие дистрибутивы Linux по-прежнему поставляются с версиями, которые не регистрируют отпечатки пальцев без этой настройки. Узнайте, почему это важно, в разделе Управление ключами SSH.

Отладка проблем с SSH-подключением

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

Клиент SSH -v Параметр

Первый подход заключается в добавлении параметра -v при вызове клиента из командной строки. Например:

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

Успешно ли установлено TCP-соединение с сервером?Если нет, это может быть проблема с DNS или маршрутизацией, или сервер может быть недоступен. Если выходные данные включают «Соединение установлено», значит, соединение установлено успешно.

Проверьте имя пользователя, под которым он пытается аутентифицироваться. Найдите строку, содержащую Authentication to as ' ' .

Убедитесь, что он успешно согласовывает шифрование. Если вы видите строку, содержащую полученный SSH2_MSG_SERVICE_ACCEPT, значит, согласование шифрования прошло успешно. Если нет, то сервер или клиент необходимо перенастроить. Это также может быть вызвано устаревшим ключом хоста на клиенте (при необходимости используйте ssh-keygen -R на клиенте, чтобы удалить старый ключ хоста; см. ssh-keygen ).

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

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

Файлы журнала

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

Запустите сервер в режиме отладки

Системный администратор может вручную запустить сервер с параметром -d, чтобы получить от сервера дополнительные подробные данные. Часто это последнее средство при диагностике проблем с подключением. Обычно причина сбоев аутентификации довольно четко видна в его выводе.

Возможно, будет желательно запустить новый сервер на порту, отличном от порта обычного сервера, чтобы не препятствовать новым подключениям к серверу (особенно удаленному!). В этом случае сервер будет запускаться (как root) с чем-то вроде sshd -d -p 2222, а затем клиент будет подключаться с помощью ssh -p 2222 [user@]host .

Параметры командной строки

Редко приходится вручную задавать параметры команды для SSH-сервера. Как правило, этим занимаются только те, кто переупаковывает SSH или создает новые дистрибутивы Linux или новые встраиваемые платформы (например, устройства Интернета вещей ).

В OpenSSH доступны следующие параметры:

-4 Используйте только адреса IPv4. Это можно использовать в средах, где DNS предоставляет адреса IPv6, но маршрутизация для них не работает.

-6 Используйте только адреса IPv6. Это можно использовать для тестирования, чтобы убедиться, что подключение IPv6 работает.

-C connection_spec Используется для тестирования отдельных блоков Match в файле конфигурации в сочетании с параметром -T. Connection_spec — это разделенный запятыми список пар =, где может быть одно из: user, host, laddr, lport, addr. Разрешены и объединены несколько опций -C.

-c host_certificate_file Указывает путь к файлу, содержащему сертификат хоста для хоста. Сертификат имеет собственный формат OpenSSH.

-D Не отсоединяться и не становиться демоном. Это часто используется, когда sshd запускается с помощью systemd. Это упрощает мониторинг процесса в таких средах. Без этой опции сервер SSH разветвляется и отсоединяется от терминала, превращаясь в процесс фонового демона. Последний до недавнего времени был традиционным способом запуска SSH-сервера. Многие встроенные системы по-прежнему будут использовать последний вариант.

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

-E log_file Добавляет журналы в указанный файл вместо отправки их в системный журнал.

-e Записывать журналы отладки в стандартную ошибку. Это можно использовать для отладки.

-f файл_конфигурации Задает путь к файлу конфигурации сервера. По умолчанию используется /etc/ssh/sshd_config.

-g login_grace Указывает, как быстро пользователи должны аутентифицировать себя после открытия соединения с сервером SSH. По умолчанию 120 секунд, но это можно изменить в файле конфигурации сервера. Тайм-аут предотвращает постоянное резервирование ресурсов на сервере, открывая к нему неаутентифицированное соединение.

-h host_key_file Задает файл, из которого считывается ключ хоста. По умолчанию используются файлы /etc/ssh/ssh_host__key. Для каждого алгоритма можно указать только один ключ хоста.

-i Используется, если сервер запускался через inetd. Однако в наши дни этим никто не занимается.

-k timeout Этот параметр устарел. Он использовался с SSH версии 1.Его использование настоятельно не рекомендуется.

-o option Переопределяет любой параметр конфигурации, указанный в файле конфигурации. Это может быть полезно для тестирования и запуска нескольких серверов на разных портах.

-p порт Указывает порт, который прослушивает сервер. Значение по умолчанию — 22. Порт также можно указать в файле конфигурации сервера.

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

-T Читает файл конфигурации сервера, проверяет его синтаксис и завершает работу. Это полезно для проверки правильности файла конфигурации перед перезапуском сервера. Проверка файла конфигурации особенно важна при удаленном обновлении конфигурации. На самом деле, в таких случаях лучше всего сначала протестировать новую конфигурацию, запустив второй сервер на новом порту, и перезапустить основной сервер только после успешного входа в систему с помощью тестового сервера. Это можно комбинировать с параметром -C для проверки отдельных блоков Match в файле конфигурации.

-t Проверяет правильность файла конфигурации и указанных ключей. См. -T для получения рекомендаций по дополнительному тестированию перед удаленным перезапуском сервера.

-u len У этой непонятной опции есть только одна полезная цель: указание -u0 приводит к тому, что IP-адреса с точками сохраняются в файле utmp (который содержит информацию о входах на сервер). Это отключает поиск DNS сервером SSH, если этого не требует механизм аутентификации или шаблоны from= на авторизованных ключах. В противном случае он указывал бы размер utmp-структуры на хосте, случаи, когда его нужно указать вручную, очень редки.

Получение номера версии установленного сервера

При подключении к серверу SSH он сообщает номер версии клиенту. OpenSSH не предоставляет документированных средств для получения номера версии сервера.

Если серверу задана нераспознанная опция -v, он тем не менее сообщает номер своей версии во второй строке вывода. Это может быть очень полезно при определении номера версии из сценария оболочки.

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

В наши дни SSH стал стандартным методом доступа к удаленному серверу Linux.

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

Из этого руководства для начинающих вы узнаете:

  • Основная концепция SSH
  • Настройка SSH-сервера (в системе, к которой вы хотите получить удаленный доступ)
  • Подключение к удаленному серверу по SSH с клиентской машины (вашего персонального компьютера)

Абсолютные основы SSH

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

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

OpenSSH — это один из самых популярных инструментов с открытым исходным кодом, обеспечивающий функциональность SSH в Linux, BSD и Windows.

Для успешной настройки SSH необходимо:

  • Разместите компоненты сервера SSH на машине, которая действует как сервер. Это обеспечивается пакетом openssh-server.
  • Разместите клиентский компонент SSH на компьютере, с которого вы хотите подключиться к удаленному серверу. Это обеспечивается пакетом openssh-client, который предустановлен в большинстве дистрибутивов Linux и BSD.

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

Как правило, у вас есть выделенная система, работающая в качестве сервера. Например, Raspberry Pi с сервером Ubuntu. Вы включаете SSH на Raspberry Pi, чтобы вы могли контролировать и управлять устройством со своего основного персонального компьютера, используя SSH в терминале.

Используя эту информацию, давайте посмотрим, как настроить SSH-сервер в Ubuntu.

Настройка SSH-сервера в Ubuntu

Настроить SSH несложно, для этого нужно выполнить всего несколько шагов.

Предпосылки

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

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

Шаг 1. Установите необходимые пакеты

Давайте начнем с открытия окна терминала для ввода необходимых команд.

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

Пакет, необходимый для запуска SSH Server, предоставляется компонентом openssh-server из OpenSSH:

Шаг 2. Проверка состояния сервера

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

Вы также можете использовать команды systemd:

Вы должны увидеть что-то вроде этого с выделенным словом Active. Нажмите q, чтобы вернуться в командную строку.

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

Шаг 3. Разрешение SSH через брандмауэр

Ubuntu поставляется с утилитой брандмауэра под названием UFW (UncomplicatedFirewall), которая представляет собой интерфейс для iptables, который, в свою очередь, управляет сетевыми правилами. Если брандмауэр активен, он может помешать подключению к вашему SSH-серверу.

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

Статус UFW можно проверить, запустив sudo ufw status .

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

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

В вашей локальной системе Linux уже должен быть установлен SSH-клиент. Если нет, вы всегда можете установить его с помощью следующей команды в Ubuntu:

Чтобы подключиться к вашей системе Ubuntu, вам нужно знать IP-адрес компьютера и использовать команду ssh, например:

Измените имя пользователя на своего фактического пользователя в системе и адрес на IP-адрес вашего компьютера с Ubuntu.

Если вы не знаете IP-адрес своего компьютера, вы можете ввести ip a в терминале сервера и проверить вывод. У вас должно получиться что-то вроде этого:

Как видно здесь, мой IP-адрес 192.168.1.111. Попробуем подключиться в формате [email protected].

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

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

И вуаля! Вы войдете в свою систему Ubuntu удаленно!

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

Закрытие соединения SSH

Чтобы закрыть соединение, вам просто нужно набрать exit, и оно сразу закроется, не запрашивая подтверждения.

Остановка и отключение SSH в Ubuntu

Если вы хотите остановить службу SSH, вам понадобится эта команда:

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

Теперь, если вы хотите отключить его запуск во время загрузки системы, используйте это:

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

Другие клиенты SSH

Инструмент ssh включен в большинство систем *nix, от Linux до macOS, но это не единственные существующие варианты, вот несколько клиентов, которые можно использовать из других операционных систем:

    — это бесплатный SSH-клиент с открытым исходным кодом, который очень популярен среди пользователей Windows. Вы также можете установить PuTTY на Ubuntu. Он полон функций и очень прост в использовании. Если вы подключаетесь к своему компьютеру с Ubuntu со станции Windows, PuTTY — отличный вариант. это удивительный инструмент для пользователей Android. Если вы находитесь в пути и вам нужен мобильный клиент для подключения к вашей системе Ubuntu, я настоятельно рекомендую попробовать JuiceSSH. Он существует уже почти 10 лет, и его можно использовать бесплатно.
  • И, наконец, Termius доступен для Linux, Windows, macOS, iOS и Android. У него есть бесплатная версия, а также несколько премиальных опций. Если у вас много серверов и вы работаете с командами, которые совместно используют соединения, то Termius — хороший вариант для вас.

Подведение итогов

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

На другом нашем веб-сайте, Linux Handbook, есть различные информационные статьи по SSH. Отсюда я рекомендую прочитать следующее:

Если вы считаете, что это сложно, в Справочнике по Linux есть видеокурс премиум-класса, объясняющий SSH для начинающих, а также практические занятия. Это даст вам более четкое представление о теме.

Для работы сетевым администратором требуется глубокое знание протоколов удаленного входа, таких как rlogin, telnet и ssh. В этой статье я буду обсуждать ssh, безопасный удаленный протокол, который используется для удаленной работы на других машинах или передачи данных между компьютерами с помощью команды SCP (Secure Copy). Но что такое OpenSSH и как его установить в вашем дистрибутиве Linux?

Что такое OpenSSH?

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

OpenSSH разработан группой Open BSD и выпущен под лицензией Simplified BSD License. Основным фактором, который сделал возможным столь широкое использование OpenSSH среди системных администраторов, являются его многоплатформенные возможности и очень полезные приятные функции, которые он имеет. Последняя версия — OpenSSH 6.4, выпущенная 8 ноября 2013 г.

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

Зачем использовать OpenSSH и Telnet или FTP?

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

Каковы некоторые функции OpenSSH?

  1. Безопасная связь
  2. Надежное шифрование (3DES, Blowfish, AES, Arcfour)
  3. Переадресация X11 (шифрование трафика системы X Window)
  4. Переадресация портов (зашифрованные каналы для устаревших протоколов)
  5. Надежная аутентификация (открытый ключ, одноразовый пароль и аутентификация Kerberos)
  6. Переадресация агента (система единого входа)
  7. Совместимость (соответствие стандартам протоколов SSH 1.3, 1.5 и 2.0)
  8. Клиент и сервер SFTP поддерживают протоколы SSH1 и SSH2.
  9. Передача билетов Kerberos и AFS
  10. Сжатие данных

Установка OpenSSH в Linux

Чтобы установить OpenSSH, откройте терминал и выполните следующие команды с правами суперпользователя.

В Ubuntu/Debian/Linux Mint

В RHEL/Centos/Fedora

Введите следующую команду yum, чтобы установить клиент и сервер openssh.

Настройка OpenSSH

Пришло время настроить наше поведение OpenSSH с помощью файла конфигурации ssh, но перед редактированием файла /etc/ssh/sshd_config нам нужно сделать его резервную копию, чтобы в случае ошибки у нас была исходная копия.< /p>

Откройте терминал и выполните следующую команду, чтобы сделать копию исходного файла конфигурации sshd.

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

Как подключиться к OpenSSH

Прежде чем двигаться дальше, нам нужно проверить, работает ли наш сервер openssh. Как это сделать? Вы можете попробовать подключиться к серверу openssh с вашего локального хоста через ваш клиент openssh или выполнить сканирование портов с помощью nmap, но мне нравится использовать небольшой инструмент под названием netcat, также известный как швейцарский армейский нож TCP/IP. Мне нравится работать с этим замечательным инструментом на моем компьютере, поэтому позвольте мне показать его вам.

Ссылаясь на результаты netcat, служба ssh работает на порту 22 на моей машине. Отлично! Что, если мы захотим использовать другой порт вместо 22? Мы можем сделать это, отредактировав файл конфигурации sshd.

Настройте OpenSSH для прослушивания TCP-порта 13 вместо TCP-порта 22 по умолчанию. Откройте файл sshd_config в своем любимом текстовом редакторе и измените директиву порта на 13.

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

Должны ли мы проверить, прослушивает ли наш сервер openssh порт 13 или нет? Эта проверка необходима, поэтому я звоню в мой любимый инструмент netcat, чтобы он помог мне выполнить эту работу.

Заключение

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

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

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Поддержите нас

Мы благодарны за вашу бесконечную поддержку.

Похожие сообщения

Блокировать перебор SSH в Linux

 Вход в Linux без пароля через SSH в Putty

 Методы обеспечения безопасности SSH-сервера

SSH вход без пароля

Используйте стук портов для защиты SSH

9 мыслей о «Как установить и настроить сервер OpenSSH в Linux»

После того, как я изменил порт ssh на 13, я не могу войти в систему через шпатлевку (ошибка времени ожидания подключения), что теперь делать?

Команда: nc -v -z 127.0.0.1 13
Выполнено успешно..

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

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

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

Одна проблема, которую я заметил в вашем сообщении, заключается в том, что вы говорите «Как мне подключиться к OpenSSH», а затем сразу же говорите: «Прежде чем мы продолжим, нам нужно проверить…», а затем вы продолжаете давать свое заключение, ни разу не подробно о том, как подключиться.

Вы просто показываете, как пройти верификацию через netcat, а затем рассказываете о красивом баннере.

Пожалуйста, скажи мне, что мои глаза не подводят меня?

Я думаю, что вы должны предоставить гораздо больше деталей и примеров, чтобы этот пост имел какую-либо ценность.

Используйте yum install nc.x86_64 для netcat Red Hat и Centos. У меня это сработало в случае с Red Hat.
Иногда вам понадобится net cat для openssh

Большое спасибо.. Все ваши сообщения являются надежным руководством для каждого профессионала Linux и новичка.
Пожалуйста, прочитайте руководство по установке прокси-сервера Squid с фильтром контента Dansguardian на Ubuntu 14.04..поэтому, пожалуйста, опубликуйте пошаговую процедуру установки и настройки Squid с Dansguardian на Ubuntu 14.04 в ближайшее время. Пожалуйста, опубликуйте как можно скорее ……. Я читал, искал и пытался найти столько же форумов/сайтов/блогов, но не смог найти ни одного надежного источника.

Отлично сделано. Я работаю с двумя компьютерами в домашней локальной сети, чтобы полностью изучить SSH, и ваша страница кратко объединяет основы. Я использую Ubuntu 12.04 LTS и OpenSSH на старом Mac mini и подключаюсь через мой новый Mac mini под управлением OS X Mavericks (10.9.). В некоторых справочниках не указаны такие подробности, как сценарий, запускающий сервер, который вам нужно знать, чтобы выполнить перезагрузку. после изменения конфигурации или как просто проверить, например, что сервер прослушивает порт. Еще раз спасибо.

Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ

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

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

В следующем кратком руководстве мы рассмотрим установку и настройку SSH-сервера в Arch Linux.

Часть 1. Установка

Обновите репозиторий пакетов Arch Linux

Запустите интерфейс командной строки и введите следующий код, чтобы обновить репозиторий пакетов Arch Linux:



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

Установите SSH-сервер в Arch Linux

Затем загрузите сервер Open SSH из официального репозитория Arch Linux, который будет устанавливать Secure Shell для системы Arch Linux. Введите следующую команду:



Затем нажмите клавишу y на клавиатуре и нажмите Enter. Установка должна быть подтверждена приглашением.

Часть 2. Открытие SSH в автономном режиме

Запустите сервер Open SSH

Установив сервер Open SSH, мы теперь можем использовать Secure Shell во время работы Open SSH. Во-первых, убедитесь, что Open SSH работает в фоновом режиме, введя:



Если сервер Open SSH не запущен, терминал должен сказать «неактивен». В этом случае вы можете запустить Open SSH, введя следующую команду:

Затем убедитесь, что он запущен, снова введя следующее:



Если запущен Open SSH, в приглашении будет указано «активно» зеленым цветом.
Если вы хотите отключить SSH-сервер, введите следующее:



Вы увидите, что сервер Open SSH перестал работать.

Автоматизировать запуск SSH-сервера при перезагрузке системы

Для автоматического запуска сервера SSH после перезагрузки системы введите следующий код:



После выполнения вышеуказанной команды сервер Open SSH будет добавлен в список запуска Arch Linux. Кроме того, вы также можете удалить Open SSH из автозагрузки системы с помощью следующей команды:



Открытый SSH удален из списка автоматического запуска системы.

Часть 3. Присоединение к серверам

Получить свой IP-адрес

Установив Open SSH, мы можем приступить к его подключению к Интернету. Для этого нам понадобится IP-адрес соответствующей машины, на которой установлен Open SSH.

Если вы не знаете IP-адрес вашего компьютера, выполните следующую команду, и отобразится IP-адрес:



Обратите внимание, что IP-адрес используемого нами сервера Open SSH — 10.0.2.15, который будет отличаться для вашей машины. Всего двумя строками ниже указан IPv6, который для нашей сети имеет вид fe80::74e2:85f1:7b09:e63f/64.

Подключение SSH-сервера к Интернету

Теперь, когда мы знаем IP-адрес, мы можем подключиться к серверу Open SSH с другой машиной в нашей сети. Мы также можем подключить его к машине с интернет-маршрутизируемым адресом.

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



Затем введите «да» и нажмите клавишу ввода.

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

Часть 4. Конфигурация

Найдите файлы сервера

Вы можете найти файлы сервера Open SSH в следующем месте на жестком диске:

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



Давайте поговорим о некоторых из этих вариантов.

Переключить порты по умолчанию

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

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



Появится следующее приглашение:

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

Чтобы сохранить изменения, нажмите Ctrl+x, нажмите кнопку y на клавиатуре, затем нажмите клавишу ввода.

Далее введите следующее, чтобы перезагрузить сервер Open SSH:

Затем подключитесь к Open SSH, введя следующую строку кода:



Введите пароль вашего сервера, затем нажмите Enter.

Повысить безопасность сервера

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

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

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

Подведение итогов

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

Об авторе

Юнис Саид

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

Читайте также: