Изменить файл конфигурации службы ssh

Обновлено: 21.11.2024

вам потребуется настроить его, отредактировав файл sshd_config в каталоге /etc/ssh.

Сначала сделайте резервную копию файла sshd_config, скопировав его в свой домашний каталог или сделав копию только для чтения в /etc/ssh, выполнив следующие действия:

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

После того как вы создали резервную копию файла sshd_config, вы можете внести изменения, например, в любом текстовом редакторе;

запускает стандартный текстовый редактор в Ubuntu 12.04 или более поздней версии. Для более старых версий замените «sudo» на «gksudo». После внесения изменений (см. предложения в остальной части этой страницы) вы можете применить их, сохранив файл, а затем выполнив:

Если вы получили сообщение об ошибке "Невозможно подключиться к Upstart", перезапустите ssh, выполнив следующие действия:

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

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

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

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

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

замените его строкой, которая выглядит следующим образом:

После того как вы сохранили файл и перезапустили SSH-сервер, вас даже не должны спрашивать о пароле при входе в систему.

По умолчанию вы можете туннелировать сетевые подключения через сеанс SSH. Например, вы можете подключиться через Интернет к своему ПК, туннелировать подключение к удаленному рабочему столу и получить доступ к своему рабочему столу. Это известно как "переадресация портов".

По умолчанию вы также можете туннелировать определенные графические приложения через сеанс SSH. Например, вы можете подключиться через Интернет к своему ПК и запустить nautilus "file://$HOME", чтобы увидеть домашнюю папку вашего ПК. Это известно как "переадресация X11".

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

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

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

и замените их на:

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

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

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

Рекомендуется указать, какие учетные записи могут использовать SSH, если только несколько пользователей хотят (не хотят) использовать SSH.

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

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

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

Можно ограничить скорость, с которой один IP-адрес может устанавливать новые соединения SSH, настроив несложный брандмауэр (ufw). Если IP-адрес пытается подключиться более 10 раз за 30 секунд, все последующие попытки будут неудачными, так как соединения будут сброшены. Правило добавляется в брандмауэр выполнением одной команды:

В однопользовательской или маломощной системе, такой как ноутбук, общее количество одновременных ожидающих (еще не авторизованных) подключений к системе также может быть ограничено. В этом примере разрешено два ожидающих подключения. Между третьим и десятым подключением система начнет случайным образом сбрасывать подключения от 30% до 100% при десятом одновременном подключении. Это должно быть установлено в sshd_config.

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

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

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

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

и измените его на это:

Теперь все сведения о попытках входа по ssh будут сохраняться в файле /var/log/auth.log.

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

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

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

Чтобы добавить баннер, который будет отображаться перед аутентификацией, найдите эту строку:

и замените его на:

Чтобы отредактировать сам баннер, попробуйте

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

Во-первых, убедитесь, что ваш демон SSH запущен:

Эта команда должна создать строку, подобную этой:

Если линии нет, ваш демон SSH не запущен. Если это так, вам следует проверить, прослушивает ли он входящие соединения:

Эта команда должна создать строку, похожую на одну из следующих:

Если есть более одной строки, в частности с номером порта, отличным от 22, значит, ваш демон SSH прослушивает более одного порта. Возможно, вы захотите вернуться и удалить какой-нибудь порт. строки в файле sshd_config. Если линий нет, ваш демон SSH не прослушивает порты, поэтому вам нужно добавить хотя бы одну строку Port. Если в строке указано что-то отличное от "*:22" ([::]:22 – это IPv6), значит, ваш демон SSH прослушивает нестандартный порт или адрес, который вы, возможно, захотите исправить.

Затем попробуйте войти со своего компьютера:

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

Чтобы выйти из командной строки SSH, введите:

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

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

Материалы этой вики доступны по бесплатной лицензии, подробности см. в разделе Авторские права / Лицензия
Вы можете внести свой вклад в эту вики, подробности см. в Руководстве по вики

Эта страница посвящена настройке сервера OpenSSH. Для Tectia SSH см. Руководство администратора сервера Tectia SSH . Для настройки аутентификации с открытым ключом см. ssh-keygen . Для настройки авторизованных ключей для аутентификации с открытым ключом см. authorized_keys .

Сервер OpenSSH считывает файл конфигурации при запуске. Обычно это файл /etc/ssh/sshd_config, но его местоположение можно изменить с помощью параметра командной строки -f при запуске sshd. Некоторые организации запускают несколько SSH-серверов с разными номерами портов, указывая при этом разные файлы конфигурации для каждого сервера.

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

Содержание

Взаимосвязь файлов конфигурации

Сервер SSH фактически считывает несколько файлов конфигурации. Файл sshd_config указывает расположение одного или нескольких файлов ключей хоста (обязательных) и расположение файлов author_keys для пользователей. Он также может ссылаться на ряд других файлов.

Общие параметры конфигурации для индивидуального использования

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

Общие изменения конфигурации для предприятия

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

Криптографическая политика

Алгоритмы ключа хоста выбираются параметром HostKeyAlgorithms. Подходящим значением является ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ss /ssh/sshd_config/ h-dss .

Алгоритмы обмена ключами выбираются параметром KexAlgorithms. Мы рекомендуем ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256. В частности, мы не рекомендуем разрешать использование diffie-hellman-group1-sha1, если только это не требуется для совместимости. Он использует 768-битное простое число, которое слишком мало по сегодняшним меркам и может быть взломано спецслужбами в режиме реального времени. Его использование может подвергнуть соединения атакам «злоумышленник посередине» при столкновении с такими злоумышленниками.

Алгоритмы кодов аутентификации сообщений настраиваются с помощью параметра MAC. Подходящим значением является hmac-sha2-256,hmac-sha2-512,hmac-sha1 .

Мы включили алгоритм sha-1 в вышеуказанные наборы только для совместимости. Его использование сомнительно с точки зрения безопасности. Если это не нужно для совместимости, мы рекомендуем отключить его. NIST также выпустил руководство по этому вопросу.

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

Подробное ведение журнала

Настоятельно рекомендуется установить для LogLevel значение VERBOSE . Таким образом, ключевой отпечаток для любого ключа SSH, используемого для входа в систему, регистрируется. Эта информация важна для управления ключами SSH, особенно в устаревших средах.

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

Расположение файла авторизованных ключей

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

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

Предприятия также должны обратить внимание на параметры AuthorizedKeysCommand и AuthorizedKeysCommandUser. Обычно они используются при включенном SELinux и для извлечения ключей SSH из каталогов LDAP или других источников данных. Их использование может сделать аудит SSH-ключей громоздким, и их можно использовать для сокрытия бэкдор-ключей от случайного наблюдения.

Корневой вход

Для корпоративного использования корневой доступ обычно должен осуществляться через систему управления привилегированным доступом. Это необходимо для включения аудита. Затем можно использовать метод повышения привилегий, такой как sudo, для выполнения команд от имени root. В идеале у учетной записи root вообще не должно быть пароля. (См. также PrivX для удаления всех паролей учетных записей администратора.)

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

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

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

Мы также должны отметить, что мы видели, как некоторые организации используют принудительные команды, которые на практике позволяют клиенту выполнять любую команду, просто чтобы номинально удовлетворить требование политики/аудита, согласно которому все ключи должны иметь принудительные команды. Принудительные команды должны быть ЭФФЕКТИВНЫМИ. Как правило, принудительная команда не должна ссылаться на переменную среды SSH_ORIGINAL_COMMAND. Аудиторы должны проверить это; если принудительная команда ссылается на это, вероятность того, что принудительная команда была преднамеренно разработана, чтобы обмануть аудиторов, составляет 99%.

Баннер входа

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

Переадресация портов

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

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

Аутентификация на основе сертификатов

OpenSSH также поддерживает собственные форматы сертификатов для аутентификации хоста и пользователя. См. PrivX On-Demand Access Manager, чтобы узнать, как использовать их для привилегированного доступа без паролей и автоматического доступа без ключей SSH на основе ролей Active Directory.

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

Дополнительную информацию о сертификатах OpenSSH, о том, как их настроить и что доступно для их выпуска, см. в разделе Сертификаты OpenSSH.

Подробный формат файла sshd_config

Файл sshd_config представляет собой текстовый файл ASCII, в котором различные параметры конфигурации сервера SSH указаны и настроены с помощью пар ключевое слово/аргумент. Аргументы, содержащие пробелы, должны быть заключены в двойные кавычки (").

В файле sshd_config ключевые слова нечувствительны к регистру, а аргументы — с учетом регистра.

Ниже приведен список некоторых наиболее часто используемых ключевых слов sshd_config. Полный список всех доступных параметров конфигурации можно найти на страницах руководства по настройке sshd .

Указывает, какие переменные среды, отправленные клиентом, будут скопированы в пользовательскую среду сеанса.

Семейный адрес

Разрешить переадресацию агента

Указывает, разрешена ли переадресация ssh-агента. По умолчанию да .

Разрешить StreamLocalForwarding

Указывает, разрешена ли переадресация сокетов домена Unix. По умолчанию да .

Разрешить TCPForwarding

Указывает, разрешена ли переадресация TCP. По умолчанию да .

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

Методы аутентификации

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

Файл авторизованных ключей

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

ChallengeResponseAuthentication Указывает, разрешена ли проверка подлинности запрос-ответ. По умолчанию да .

ChrootDirectory

Указывает путь к каталогу для chroot (изменение корневого каталога) после аутентификации.

Сжатие

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

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

Принудительная команда

Принудительно выполняет команду, указанную в этом ключевом слове, игнорируя любую команду, предоставленную клиентом и ~/.ssh/rc, если она присутствует.

Порты шлюза

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

Аутентификация GSSAPIA

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

Аутентификация на основе хоста

Указывает, будет ли аутентификация rhosts или /etc/hosts.equiv вместе с успешной аутентификацией хоста клиента с открытым ключом (т. е. использование открытого ключа клиентского компьютера для аутентификации пользователя на удаленном сервере, обеспечивая неинтерактивную форму аутентификации) разрешено. По умолчанию нет .

HostbasedUsesNameFromPacketOnly

Указывает, будет ли сервер пытаться выполнить обратный поиск имени при совпадении имени в файлах ~/.shosts , ~/.rhosts и /etc/hosts.equiv во время проверки подлинности на основе хоста.

Указывает файл, содержащий закрытый ключ хоста, используемый SSH. Возможно иметь несколько файлов ключей хоста. По умолчанию это /etc/ssh/ssh_host_dsa_key , /etc/ssh/ssh_host_ecdsa_key , /etc/ssh/ssh_host_ed25519_key и /etc/ssh/ssh_host_rsa_key для протокола SSH версии 2.

Алгоритмы HostKey

Игнорировать хосты

Указывает, что файлы .rhosts и .shosts не будут использоваться в RhostsRSAAuthentication или HostbasedAuthentication.

КбдИнтерактиваутентикатион

Указывает, разрешена ли аутентификация с помощью интерактивной клавиатуры. По умолчанию используется значение ChallengeResponseAuthentication.

Кексалгоритмы

Адрес прослушивания

Указывает локальные адреса, которые должен прослушивать sshd. Допускаются следующие формы:

Время входа в систему

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

Указывает уровень детализации для регистрации сообщений от sshd.

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

Аутентификация по паролю

Разрешить пустые пароли

ПермитрутВход

Разрешить туннель

Пермитусерэнвиронмент

Пермитусеррк

Аутентификация открытого ключа

Использоватьпривилегеразделение

X11Переадресация

X11UseLocalhost

Подробная документация по формату файла конфигурации все еще находится в разработке.

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

Эта страница посвящена настройке клиента OpenSSH. Для конфигурации сервера OpenSSH см. sshd_config . Для настройки Tectia SSH см. Руководство администратора Tectia SSH Server. Для настройки аутентификации с открытым ключом без пароля см. ssh-keygen .

Программа ssh на хосте получает свою конфигурацию либо из командной строки, либо из файлов конфигурации ~/.ssh/config и /etc/ssh/ssh_config .

Параметры командной строки имеют приоритет над файлами конфигурации. Затем используется пользовательский файл конфигурации ~/.ssh/config. Наконец, используется глобальный файл /etc/ssh/ssh_config. Будет использовано первое полученное значение для каждого параметра конфигурации.

Содержание

Часто используемые параметры конфигурации

Доступно множество параметров конфигурации. На практике изменяются только некоторые из них, а пользовательские файлы конфигурации используются редко. В большинстве случаев редактируется только файл /etc/ssh/ssh_config.

Включение переадресации X11 и переадресации агента

Разработчикам, студентам и исследователям часто требуется включить переадресацию X11 и переадресацию агента SSH. Они позволяют запускать графические приложения удаленно и исключают необходимость ввода пароля при переходе с одного сервера на другой соответственно. Установка этих параметров в файле /etc/ssh/ssh_config облегчает жизнь конечным пользователям, сокращает накладные расходы и снижает нагрузку на техподдержку. Однако они увеличивают риск распространения атаки с скомпрометированного сервера на рабочий стол пользователя, поэтому в средах, наиболее важных с точки зрения безопасности, может потребоваться оставить их отключенными. Как правило, нет необходимости включать их на рабочих серверах предприятий.

Переадресация портов

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

Настройка аутентификации с открытым ключом

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

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

Аутентификация на основе сертификатов

Сертификаты OpenSSH можно использовать для аутентификации с помощью ssh-agent или путем указания параметра CertificateFile в файле конфигурации клиента. Дополнительные сведения см. в разделе Сертификаты SSH.

Формат файла конфигурации SSH-клиента ssh_config

Файл конфигурации клиента ssh_config имеет следующий формат. И глобальный файл /etc/ssh/ssh_config, и файл ~/ssh/config для каждого пользователя имеют одинаковый формат.

Каждая строка начинается с ключевого слова, за которым следует аргумент(ы).

Параметры конфигурации могут быть разделены пробелом или необязательным пробелом и ровно одним =.

Аргументы могут быть заключены в двойные кавычки (""), чтобы указать аргументы, содержащие пробелы.

Список параметров конфигурации клиента

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

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

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

Семейный адрес

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

Адрес привязки

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

ChallengeResponseAuthentication

Указывает, следует ли использовать аутентификацию запрос-ответ. В основном это устаревший метод, который был заменен KbdInteractiveAuthentication .

ПроверитьHostIP

Указывает ssh дополнительно проверить IP-адрес хоста в файле known_hosts.

Указывает шифр, используемый для шифрования сеанса в протоколе версии 1. Обратите внимание, что использование протокола 1 не рекомендуется.

Указывает шифры, разрешенные для протокола версии 2, в порядке предпочтения. Несколько шифров должны быть разделены запятыми. Команда ssh -Q cipher может использоваться для запроса поддерживаемых шифров. Следующий список поддерживается в OpenSSH 6.7:

Очистить все перенаправления

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

Сжатие

Указывает, следует ли использовать сжатие. yes включает сжатие.

Уровень сжатия

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

Попытки подключения

Указывает количество попыток перед выходом.

Время ожидания соединения

Указывает время ожидания (в секундах), используемое при подключении к серверу SSH, вместо использования системного времени ожидания TCP по умолчанию.

Мастер управления

Позволяет совместно использовать несколько сеансов через одно сетевое соединение.

Путь управления

Укажите путь к управляющему сокету, используемому для совместного использования соединения, как описано в разделе ControlMaster выше, или строку none, чтобы отключить совместное использование соединения.

Динамическое перенаправление

Указывает, что TCP-порт на локальном компьютере перенаправляется по защищенному каналу, а протокол приложения затем используется для определения места подключения с удаленного компьютера.

Устанавливает escape-символ.

Выход при переадресации

Указывает, должен ли ssh прерывать соединение, если он не может настроить все запрошенные динамические, туннельные, локальные и удаленные перенаправления портов.

ФорвардАгент

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

Указывает, будут ли соединения X11 автоматически перенаправляться по защищенному каналу и устанавливать DISPLAY.

ForwardX11Trusted

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

Порты шлюза

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

GlobalKnownHostsFile

Указывает файл, который будет использоваться для глобальной базы данных ключей хоста вместо /etc/ssh/ssh_known_hosts .

Аутентификация GSSAPIA

Указывает, разрешена ли аутентификация пользователя на основе GSSAPI. GSSAPI обычно используется для проверки подлинности Kerberos, например, с Active Directory.

GSSAPIKeyExchange

Указывает, можно ли использовать обмен ключами на основе GSSAPI.

GSSAPIClientIdentity

Если установлено, указывает идентификатор клиента GSSAPI, который ssh ​​должен использовать при подключении к серверу.

GSSAPIDelegateCredentials

Перенаправлять (делегировать) учетные данные на сервер.

GSSAPIRenewalForcesRekey

Если установлено значение "да", обновление учетных данных GSSAPI клиента приведет к принудительному изменению ключа для соединения ssh.

GSSAPITrustDns

Установите значение «да», чтобы указать, что DNS доверяют для безопасной канонизации имени хоста, к которому осуществляется подключение. Если нет , имя хоста, введенное в командной строке, будет без изменений передано в библиотеку GSSAPI.

HashKnownHosts

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

Аутентификация на основе хоста

Указывает, следует ли попробовать аутентификацию на основе rhosts с аутентификацией с открытым ключом, используя файлы .rhosts или .shosts в домашнем каталоге пользователя и /etc/hosts.equiv и /etc/shosts.equiv в глобальной конфигурации.

Алгоритмы HostKey

Указывает алгоритмы ключа хоста версии 2, которые клиент хочет использовать, в порядке предпочтения. В OpenSSH 6.7 поддерживаются следующие значения:

Псевдоним ключа хоста

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

Указывает реальное имя хоста для входа. Это можно использовать для указания псевдонимов или сокращений для хостов. По умолчанию используется имя, указанное в командной строке. Также разрешены числовые IP-адреса (как в командной строке, так и в спецификациях HostName).

Только удостоверения

Указывает, что ssh должен использовать только ключи удостоверений, настроенные в файлах ssh_config, даже если ssh-agent предлагает больше удостоверений.

Идентификационный файл

Указывает файл, из которого считывается идентификационный ключ пользователя при использовании аутентификации с открытым ключом. По умолчанию для протокола версии 1 используется ~/.ssh/identity ; и ~/.ssh/id_rsa или ~/.ssh/id_dsa для протокола версии 2.

КбдИнтерактиваутентикатион

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

КбдИнтерактивДевисес

Указывает список методов, используемых при аутентификации с помощью клавиатуры.

Локальная команда

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

Местная переадресация

Указывает, что TCP-порт на локальном компьютере перенаправляется по защищенному каналу на указанный хост и порт с удаленного компьютера. Первый аргумент должен быть [bind_address:]port, а второй аргумент должен быть host:port .

Указывает алгоритмы MAC (код проверки подлинности сообщения) в порядке предпочтения. Команда ssh -Q mac может использоваться для запроса поддерживаемых алгоритмов MAC. Следующий список поддерживается в OpenSSH 6.7:

NoHostAuthenticationForLocalhost

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

Предпочтительная аутентификация

Указывает порядок, в котором клиент должен использовать методы аутентификации протокола 2.

Указывает версии протокола в порядке предпочтения. Возможные значения: «1» и «2». Несколько версий должны быть разделены запятыми. Использование протокола версии 1 НЕ РЕКОМЕНДУЕТСЯ по соображениям безопасности. Есть основания полагать, что он может быть подвержен атакам типа "злоумышленник посередине" .

Прокси-команда

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

Аутентификация открытого ключа

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

Удаленная переадресация

Указывает, что TCP-порт на удаленном компьютере перенаправляется по защищенному каналу на указанный хост и порт с локального компьютера. Первый аргумент должен быть: [bind_address:]port, а второй аргумент должен быть host:port. Туннелирование SSH – это мощный инструмент, но ознакомьтесь с соображениями безопасности при туннелировании SSH .

Аутентификация RhostsRSA

Указывает, следует ли пытаться использовать аутентификацию на основе rhosts с аутентификацией хоста RSA. Это относится только к протоколу версии 1 и устарело.

Аутентификация RSAA

Указывает, следует ли пытаться использовать аутентификацию RSA. Это относится только к протоколу версии 1 и устарело.

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

Макс. ЖивыхСерверов

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

Интервал активности сервера

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

Устройство смарт-карты

Указывает, какое устройство смарт-карты использовать.

Строгая проверка ключей хоста

Указывает, что ssh никогда не должен автоматически добавлять ключи хоста в файл ~/.ssh/known_hosts и отказывается подключаться к хостам, чей ключ хоста изменился.

Поддержка активности TCP

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

Если да, запросите переадресацию устройств между клиентом и сервером. Это используется для реализации VPN через SSH.

Туннельное устройство

Указывает, какие устройства tun следует открывать на клиенте (local_tun) и на сервере (remote_tun).

Использовать привилегированный порт

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

UserKnownHostsFile

Указывает файл, который будет использоваться для базы данных ключей известного хоста для каждого пользователя вместо файла по умолчанию ~/.ssh/known_hosts .

ПроверкаHostKeyDNS

Указывает, следует ли проверять удаленный ключ с помощью записей ресурсов DNS и SSHFP.

VisualHostKey

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

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

Если пользователю необходимо часто получать доступ к удаленным серверам с использованием протокола SSH, ему потребуется запомнить IP-адреса, имена пользователей, различные номера портов и параметры командной строки. Но это не эффективный способ выполнения задач. Эта проблема может быть решена несколькими способами. Пользователь может создать псевдоним команды bash для удаленного подключения, который будет легче запомнить. Другое решение — создать файл конфигурации SSH для каждого пользователя, чтобы сохранить различные параметры SSH для разных удаленных систем. В этом руководстве регулярно показано использование файлов конфигурации SSH для доступа к удаленным серверам.

Предпосылки

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

Включите службу SSH в Ubuntu, если она не была включена ранее.

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

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

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

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

Общие параметры конфигурации SSH

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

Опция Назначение
HostName Используется для определения имени хоста или IP-адреса вашего удаленного сервера. Если идентификатор хоста определяет исходное имя хоста, то его задавать не требуется.
Пользователь Это используется для установки имени пользователя удаленного сервера.
Порт используется для определения порта номер, который используется для прослушивания соединения с сервером. Номер порта по умолчанию — 22.
Сжатие Сжатие будет использоваться, если для него задано значение yes . Значение по умолчанию для этого параметра — нет.
ForwardX11 Используется для автоматического перенаправления соединения X11. по защищенному каналу и набору DISPLAY. Значение этой опции может быть да или нет. Значение по умолчанию — нет.
IdentityFile Используется для указания пути к открытому ключу, который SSH клиент будет использовать для аутентификации.
LogLevel Он используется для определения уровня детализации, который используется при регистрация сообщений от ssh. Значения этой опции могут быть QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 и DEBUG3. Значение по умолчанию — INFO.
ServerAliveCountMax Используется для установки количества активных сообщений сервера.
ServerAliveInterval Используется для установки интервала ожидания в секундах, по истечении которого, если ответ не был получено с сервера. Значение по умолчанию для этой опции равно 0, что означает, что сообщение не будет отправлено на сервер.

Файлы конфигурации клиента SSH

Для установки значений конфигурации можно использовать файл конфигурации по умолчанию на стороне клиента, а путь к файлу — /etc/ssh/ssh_config. Он содержит настройки, применимые ко всем пользователям SSH-клиента. Но если вы хотите применить настройку для конкретного пользователя, лучше использовать настраиваемый файл конфигурации, применимый к этому пользователю. Как использовать пользовательский файл конфигурации на стороне клиента, показано в следующей части этого руководства.

Создать пользовательский файл конфигурации SSH

Хост fahmida
Имя хоста Ясмин

Host *
User Ubuntu
HostName 10.0.2.15
Port 22
IdentityFile ~/.ssh/id_rsa
Сжатие да
ServerAliveInterval 60
/>ServerAliveCountMax 20

Запустите команду SSH для разных хостов

Выполните следующую команду ssh, чтобы подключиться к хосту fahmida и имени хоста Yasmin. Здесь параметр -i был использован с командой ssh ​​для указания пути к открытому ключу.

Следующий вывод появится, если соединение SSH с сервером установлено правильно.

Выполните следующую команду ssh, чтобы подключиться к хосту, fahmida, и IP-адресу. Здесь параметр -i использовался с командой ssh ​​для указания пути к открытому ключу, а параметр -p использовался для определения номера порта.

Следующий вывод появится, если соединение SSH с сервером установлено правильно.

Следующий вывод появится, если соединение SSH с сервером установлено правильно.

Заключение

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

Об авторе

Фахмида Есмин

Я веду курсы веб-программирования. Мне нравится писать статьи или учебные пособия на различные темы в области ИТ. У меня есть канал на YouTube, на котором публикуются различные учебные пособия по Ubuntu, Windows, Word, Excel, WordPress, Magento, Laravel и т. д.: Справка Tutorials4u.

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

Также прочтите: Как создать приманку SSH для поимки хакеров на вашем Linux-сервере

Где находится файл конфигурации SSH?

В системах Linux общесистемный файл конфигурации ssh можно найти в «/etc/ssh/ssh_config».

В системах macOS тот же файл находится в «/private/etc/ssh/ssh_config», который для совместимости имеет символическую ссылку на «/etc/ssh/ssh_config».

Второй пользовательский файл ssh_config может находиться в папке «~/.ssh/ssh_config» (символ «~» обозначает домашний каталог). Этот файл заменяет общесистемный файл конфигурации, позволяя вам устанавливать пользовательские параметры без изменения конфигурации системы. Системы не всегда поставляются с файлом «~/.ssh/ssh_config», но его можно легко создать.

Дальше мы будем называть этот файл конфигурации «ssh_config» для ясности и простоты.

Также читайте: Как включить беспарольный вход SSH в Linux

Редактирование файла ssh_config

Чтобы отредактировать файл ssh_config, откройте окно терминала и отредактируйте файл в предпочитаемом вами текстовом редакторе. В этой демонстрации мы будем использовать nano, но вместо него можно использовать vi или emacs.

Откроется файл с десятками закомментированных строк, объясняющих, что делает файл, но это не полное объяснение.

Что такое файл ssh_config и что делает ssh_config?

Файл ssh_config используется для управления работой безопасной оболочки, более известной как команда терминала ssh, в вашей системе. Файл ssh_config организован по хостам. Каждый хост содержит определенные настройки для этого хоста. Подстановочные знаки, такие как *, можно использовать для сопоставления нескольких имен хостов с одним объявлением.

Параметры объявляются с помощью пары ключ/определение. В наличии много ключей. Подробное объяснение функций каждой клавиши можно найти на справочной странице ssh_config.

Усиление безопасности вашей конфигурации SSH

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

Подтвердить протокол SSH 2

Убедитесь, что вы используете более новый и современный протокол 2 вместо протокола 1. Старый протокол работает с более слабой проверкой целостности и, как правило, менее безопасен.

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

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

Запретить пустой пароль

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

Запретить вход в систему root

В большинстве случаев в Linux редко следует использовать root. Предотвращение входа в систему root позволит вам заблокировать учетные записи именно для того, что необходимо, и не предоставлять общесистемное использование. Эта учетная запись также является мишенью для атак. Варианты для PermitRootLogin включают «да», «без пароля», «только принудительные команды» или «нет». По умолчанию «да». Чтобы полностью остановить вход в систему root, используйте строку ниже.

Изменить номер порта

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

Чтобы настроить порт, отредактируйте основной демон ssh в «/etc/ssh/sshd_config». Вам нужно будет добавить новую строку, указывающую порт в соответствии с синтаксисом Port XXXXX.

Ограничить доступ

Если к вашему серверу обращаются несколько человек, вы можете полностью ограничить использование ssh. Для этих случаев вы можете разрешать и запрещать как пользователям, так и группам. Для этого вам нужно будет использовать один из следующих ключей, за которым следуют значения, которые вы хотите разрешить или запретить: DenyUsers, AllowUsers, DenyGroups и AllowGroups. Это выполняется в таком порядке, поэтому, даже если вы разрешите пользователю, если он находится в разделе «запрещенные пользователи», ему будет отказано.

Обновите LoginGraceTime

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

Настройка конфигураций SSH

Создание псевдонимов

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

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

Обратите внимание, что порт ssh был изменен на 22222, чтобы предотвратить холодные звонки. В остальном это очень простое ssh-соединение, для удобства сокращенное на много символов.

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

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

Как и в предыдущих примерах, эту команду ssh можно запустить с помощью ssh dev, выполнив следующую эквивалентную команду командной строки:

Настройка других параметров ssh

Приведенные ниже параметры ssh являются одними из наиболее распространенных ключей, которые можно найти в файлах ssh_config.

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

LogLevel: установите уровень детализации в журналах ssh на стороне клиента. Варианты от наименее подробных до наиболее подробных: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG1, DEBUG2 и DEBUG3.

StrictHostKeyChecking: задайте предпочтение для добавления хостов в файл known_hosts. «yes» никогда не добавит known_hosts. «нет» всегда будет добавляться к known_hosts. «ask», который является опцией по умолчанию, будет спрашивать пользователя перед добавлением в файл known_hosts. «yes» обеспечивает наибольшую защиту от атак троянских коней, но может быть утомительным с плохо управляемым файлом known_hosts. «нет» наименее безопасен, но может сделать подключение к большому количеству временных хостов менее болезненным.

UserKnownHostsFile: укажите путь к пользовательскому файлу known_hosts.

Переадресация соединения

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

LocalForward: определите соединение для перенаправления трафика локального порта на удаленный компьютер. Это туннелирует соединение через удаленную сеть.

RemoteForward: укажите удаленный порт, который будет туннелироваться из локального порта. Это обратный вариант вышеприведенного.

DynamicForward: настроить локальный порт для использования с протоколом динамической пересылки.

Заключение

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

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