Как разрешить доступ ssh linux

Установка и настройка сервера SSH в Linux

Secure Shell, т. е. SSH – протокол, обеспечивающий защищённые соединения и передачу данных между двумя удалёнными компьютерами. Изначально создавался на замену таким системам как rlogin и rcp. Как понятно из полного названия протокола, система SSH позволяет соединяться и управлять удалённым узлом (компьютером, маршрутизатором и т. д.), при этом защищая весь передаваемый трафик с помощью высоконадёжного шифрования.
SSH широко применяется администраторами серверов для их настройки и управления, да и обычные продвинутые пользователи — владельцы, например, сайтов или виртуальных серверов активно используют SSH для подключения к своей учётной записи на хостинге и использования командной оболочки сервера.
Сразу после окончания разработки система SSH стала активно трансформироваться в закрытый коммерческий продукт в виде версии SSH2. Но благодаря сообществу GNU версии протокола SSH1 и SSH2 были реализованы в виде открытого и свободно распространяемого ПО openSSH. В Linux-системах используется именно этот метапакет.
Метапакет SSH базово включает в себя сервер SSH (sshd) в качестве програмы-демона, а также несколько утилит: ssh – удаленная регистрация и выполнение команд, scp – передача файлов и ssh-keygen – для генерации пар SSH-ключей.

Установка пакетов SSH

Как уже говорилось система ssh в Linux-системах распространяется в виде составного метапакета, поэтому для установки всех требуемых утилит ssh нужно выполнить всего одну команду:
В Ubuntu

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

Как видно, менеджер пакетов сам распознает все зависимые и связанные пакеты и установит их. Также, по завершению установки, автоматически будет запущен SSH-сервер в режиме демона. Это можно проверить командой:
$ systemctl status sshd
или:
$ service sshd status даст тот же вывод. Теперь сервер работает с базовыми настройками по-умолчанию.

Настройка SSH

Режим работы SSH-сервера с настройками по-умолчанию хоть и является вполне работоспособным для небольших частных сетей, всё же нуждается в задании некоторых важных параметров для использования на высоконадёжных публичных серверах. Настройки демона хранятся в файле /etc/ssh/sshd_config. Посмотреть его можно командой

В первую очередь следует обратить внимание на следующие параметры: Port, AddressFamily, ListenAddress. Первый глобально задаёт номер порта, через который будет работать соединение и если оставить его стандартным, т. е. 22, то велика вероятность, что он будет слишком часто сканироваться роботами.
Примечание: для задания активации параметра необходимо раскомментировать соответствующую строку — убрать символ «#» в её начале.
Второй параметр задаёт семейство используемых IP-адресов — IPv4 и IPv6. Если, к примеру, используются только адреса IPv4, то очень рекомендуется установить для параметра

Для адресов семейства IPv6 используется значение inet6.
Параметр ListenAddress позволяет задавать порты для отдельных сетевых интерфейсов:

Поскольку реализация openSSH позволяет работать с протоколами SSH1 и SSH2, то разумно отключить использование SSH1, т. к. эта версия является устаревшей. Работа по SSH1 крайне не рекомендуется: Protocol 2
Очень полезным является параметр, позволяющий проводить авторизацию и шифрование трафика с помощью специальных SSH-ключей:

Следует заметить, что в таком случае серверу необходимо явно указывать, где хранятся открытые ключи пользователей. Это может быть как один общий файл для хранения ключей всех пользователей (обычно это файл etc/.ssh/authorized_keys), так и отдельные для каждого пользователя ключи. Второй вариант предпочтительнее в силу удобства администрирования и повышения безопасности:
AuthorizedKeysFile etc/ssh/authorized_keys # Для общего файла
AuthorizedKeysFile %h/.ssh/authorized_keys # Файл -> пользователь
Во втором варианте благодаря шаблону автоподстановки с маской «%h» будет использоваться домашний каталог пользователя.
Важно также отключать парольный доступ:

Читайте также:  Console application windows form

Или же, в случае, если всё-таки необходимо использовать доступ по паролю, то обязательно нужно отключать авторизацию по пустому паролю:

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

Следует также отключать root-доступ:

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

Настройки для алиасов хранятся либо глобально в /etc/ssh/ssh_config, либо раздельно для пользователей в

/.ssh/config. Здесь нужно не спутать с ssh_config! Пример:

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

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

где user_name – имя пользователя в системе, host_name – имя узла, к которому производится подключение, например:

При этом утилита ssh запросит (в зависимости от настроек сервера) логин, пароль или парольную фразу для разблокировки приватного ключа пользователя.
В случае авторизации по ключу, должна быть предварительно сгенерирована пара SSH-ключей — открытый, который хранится на стороне сервера, обычно в файле .ssh/authorized_keys в домашнем каталоге пользователя, и закрытый — используется для авторизации клиента и хранится, как правило, в каталоге .ssh/ домашней директории пользователя. Открытый ключ представляет собой «цифровой слепок» закрытого ключа благодаря которому сервер «знает», кто «свой», а кто «чужой».
Для генерации ключей используется утилита ssh-keygen:

Утилита предложит выбрать расположение ключей (лучше всё оставить по-умолчанию), обычно это каталог

/.ssh/, ввести парольную фразу для закрытого ключа. После чего будут сгенерированы открытый ключ id_rsa.pub и закрытый — id_rsa. Теперь нужно скопировать открытый ключ, т. е. «слепок» закрытого на сервер. Проще всего этого можно добиться командой:

Теперь можно выполнить подключение командой ssh и запустить защищённый сеанс удалённого управления.
Важно заметить, что использование сгенерированных openSSH-ключей несовместимо с PPK-форматом, используемым по-умолчанию в таких комплексах как PuTTY. Поэтому необходимо конвертировать имеющиеся openSSH-ключи в формат PPK. Удобнее всего это делать с помощью утилиты PuTTY – puttygen.exe.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Можно ли разрешить или запретить доступ по SSH определенному пользователю или группе?

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

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

1. Разрешить SSH-доступ пользователю или группе

Чтобы разрешить доступ по SSH для определенного пользователя, например sk, отредактируйте файл sshd_config:

Нажмите «i», чтобы войти в режим вставки и добавить или изменить следующую строку:

Читайте также:  Windows boot option noexecute optin

Замените «sk» своим именем пользователя. Обратите внимание на отступы между «AllowUsers» и «sk». Вы должны использовать Tab вместо пробела. Значение — добавьте слово «AllowUsers» и нажмите клавишу Tab, а затем укажите имя пользователя.

Вы также можете указать более одного пользователя, как показано ниже.

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

Этот параметр позволит всем членам «корневой» группы подключаться к серверу Linux по ssh.

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

Теперь пользователю sk и всем членам «корневой» группы разрешено подключаться к вашему Linux-серверу по ssh. Остальные пользователи (кроме sk и членов группы «root») не имеют доступа к системе через ssh.

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

Вы получите следующее сообщение об ошибке:

2. Запретить доступ по SSH пользователю или группе

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

Чтобы запретить доступ по SSH конкретному пользователю с именем «sk», отредактируйте файл sshd_config:

Добавьте/отредактируйте следующую строку в файле sshd_config.

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

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

Аналогичным образом, чтобы запретить доступ по SSH для всей группы, например root , добавьте:

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

Теперь попробуйте ssh на свой Linux-компьютер из заблокированной учетной записи пользователя, например sk:

Вы получите следующее сообщение:

3. Отключить вход в систему через SSH-root

Доступ с root-доступом по ssh считается плохой практикой с точки зрения безопасности . Поэтому настоятельно рекомендуется отключить вход в систему SSH Root для защиты вашей системы.

Чтобы отключить вход в систему root ssh, отредактируйте файл sshd_config:

Найдите следующую строку, раскомментируйте ее и установите значение no .

Перезапустите службу SSH, чтобы изменения вступили в силу немедленно:

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

Источник

Доступ по SSH

С помощью SSH-сервера можно удаленно управлять сервером через консоль (ssh://-соединение) и передавать файлы (sftp-сервер).

В данной статье будут рассмотрены настройка доступа к терминалу и файлам через SSH.

На сервере переключаемся в режим суперпользователя:

И правим следующий файл:

Перед этим делаем на всякий случай бэкап конфига:

Потом, если что, удаляем измененный и восстанавливаем исходный:

В любом случае при изменениях этого файла стоит обязательно:

  1. держать уже открытую рутовую сессию через достаточно надёжное соединение;
  2. перезапустить sshd;
  3. попытаться подключиться ещё одной рутовой сессией по ключу (либо пользовательской с поднятием привилегий, что несколько менее предпочтительно),

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

Добавляем в конец файла(!) [1] конфигурацию, которая для заданного пользователя отключит интерактивный доступ и оставит только sftp до заданного каталога:

Обмен файлами [ править ]

Обмен файлами с сервером будет происходить по протоколу SSH.

Этот же каталог прописываем в ChrootDirectory.

Даем себе полные права:

Подключаем его на Workstation:

  • Открываем Caja
  • Файл > Соединиться с сервером:
    • IP
    • Тип: SSH
    • Папка: /home/files
    • Имя пользователя: petr (учетка на сервере, которой мы дали права)
    • Пароль: (соответствующий)
    • Можно поставить галочку «Добавить закладку»
Читайте также:  Что такое изменение параметров загрузки windows для windows 10

Источник

🧽 Как включить или отключить доступ по SSH для конкретного пользователя или группы в Linux👨⚕️

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

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

Как этого добиться? Какой самый лучший способ? Как этого добиться простым способом?

Есть много способов сделать это.

Однако нам нужно пойти простым и легким методом.

Если это так, это можно сделать, внеся необходимые изменения в файл / etc / ssh / sshd_config.

В этой статье мы покажем вам, как выполнить это в деталях.

Зачем мы это делаем? по соображениям безопасности.

Перейдите по следующему URL, чтобы узнать больше об использовании openSSH.

Что такое SSH?

openssh расшифровывается как OpenBSD Secure Shell.

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

Это клиент-серверная архитектура.

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

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

Как разрешить пользователю доступ к SSH в Linux?

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

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

Для этого просто добавьте следующее значение в файл /etc/ssh/sshd_config. В этом примере мы собираемся разрешить ssh доступ для user3.

Вы можете проверить это дважды, выполнив следующую команду.

Просто откройте новый терминал или сеанс и попробуйте получить доступ к системе Linux другим пользователем.

Да, user2 не разрешен для входа в SSH и вы получите сообщение об ошибке, как показано ниже.

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

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

Как запретить пользователям доступ к SSH в Linux?

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

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

Для этого просто добавьте следующее значение в файл /etc/ssh/sshd_config. В этом примере мы собираемся отключить ssh-доступ для user1.

Вы можете проверить это дважды, выполнив следующую команду.

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

Да, user1 находится в списке DenyUsers.

Таким образом, вы получите сообщение об ошибке, как показано ниже, при попытке войти в систему.

Как запретить группе доступ к SSH в Linux?

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

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

Для этого просто добавьте следующее значение в файл /etc/ssh/sshd_config.

Вы можете проверить это дважды, выполнив следующую команду.

Да, user3 не разрешено входить в систему, потому что он входит в группу 2g-admin. Она в Denygroups.

Любой может войти в систему, кроме группы 2g-admin. Следовательно, пользователю ladmin разрешено входить в систему.

Источник

Оцените статью