- Использование смарт-карт
- Возможные проблемы при использовании
- Ссылки
- Можно ли разрешить или запретить доступ по SSH определенному пользователю или группе?
- 1. Разрешить SSH-доступ пользователю или группе
- 2. Запретить доступ по SSH пользователю или группе
- 3. Отключить вход в систему через SSH-root
- How to Give ssh Access to a User in Ubuntu
- Enable SSH Access in Ubuntu
- Install open-ssh Package
- Enable Firewall Configurations for SSH
- Connect to the SSH Server
- Connect SSH to A Remote Server
- Conclusion
- About the author
- Karim Buzdar
- Как разрешить пользователю root заходить по SSH в системах Linux Ubuntu
- С использованием сертификата
- По паролю
Использование смарт-карт
1. Создание сертификата и экспорт открытого ключа, а также клиентская часть на Windows + Putty SC описано на сайте: http://habrahabr.ru/post/88540/ Описанное там дополнение Key Manager доступно только в старых версиях Firefox. Проверено на версии 3.5 для Windows. Прямая ссылка на дополнение: https://addons.mozilla.org/ru/firefox/addon/key-manager/
2. Подготовка сервера. Вам необходимо убедиться что в конфигурации sshd разрешена аутентификация при помощи публичных ключей. Для этого необходимо в файле «sshd_config» указать значение параметра «PubkeyAuthentication» в «yes». Затем в файл «~/.ssh/authorized_keys» добавляем наш публичный ключ полученный ранее (одной строкой). Обратите внимание, файл «.ssh/authorized_keys» находится в домашнем каталоге того пользователя, который потом будет логиниться по публичному ключу.
3. Клиентская часть на Linux. Потребуется пересборка пакета OpenSSH без параметров. Рекомендуется только указать префиксы каталогов, например –prefix=/usr. Также следует учесть, что файлы конфигов будут в /usr/etc. Перед началом необходимы пакеты: opensc-lite-devel, zlib-devel, openssl-devel. Устанавливаем драйвер смарт-карты. Для удобства в конфиге ssh_config (не путать с sshd_config) указать путь к библиотеке pkcs: PKCS11Provider=
4. На клиенте запускаем ssh user@host Если смарт-карта (токен) подключена, будет запрошен пароль и выполнен вход в сессию SSH .
Возможные проблемы при использовании
Привычная комбинация клавиш Ctrl + S , используемая во многих редакторах для сохранения исправлений, при работе в терминале с ssh-cервером приведёт к выполнению команды XOFF что внешне напоминает зависание сессии. Однако это не так. Сервер продолжает принимать вводимые символы и команды, но не выводит это на экран. Что бы выйти из такого затруднительного положения достаточно применить комбинацию Ctrl + Q , тем самым включив режим XON обратно.
Ссылки
Эта статья не окончена. Пожалуйста, если вы располагаете соответствующими знаниями и небольшим количеством свободного времени, попробуйте улучшить эту статью.
Описание различных директив см. выше в примере sshd_config , ниже приведены только некоторые, самые интересные директивы
Т. е. user1 может быть прописан как у себя — в файле /home/user1/.ssh/keys) так и у другого пользователя, что позволит ему выполнять со своего компьютера вход как «под собой», так и под «другим»
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2018 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Можно ли разрешить или запретить доступ по SSH определенному пользователю или группе?
Это краткое руководство проведет вас через шаги, чтобы разрешить или запретить SSH-доступ определенному пользователю или группе в Linux. Оно будет полезно, если вы хотите разрешить конкретному пользователю выполнять только определенный набор команд. В этой статье мы собираемся включить или отключить доступ по SSH для пользователя или группы, внеся несколько изменений в файл конфигурации SSH по умолчанию.
В конфигурационном файле openSSH по умолчанию есть две директивы для разрешения и запрета доступа по SSH определенным пользователям или группе. Во-первых, давайте посмотрим, как разрешить или включить SSH-доступ для пользователя и группы. Обратите внимание, что все приведенные ниже команды должны запускаться от имени пользователя root или sudo.
1. Разрешить SSH-доступ пользователю или группе
Чтобы разрешить доступ по SSH для определенного пользователя, например sk, отредактируйте файл sshd_config:
$ sudo vi /etc/ssh/sshd_config
Нажмите «i», чтобы войти в режим вставки и добавить или изменить следующую строку:
Замените «sk» своим именем пользователя. Обратите внимание на отступы между «AllowUsers» и «sk». Вы должны использовать Tab вместо пробела. Значение — добавьте слово «AllowUsers» и нажмите клавишу Tab, а затем укажите имя пользователя.
Вы также можете указать более одного пользователя, как показано ниже.
Чтобы разрешить всю группу, например, root , добавьте/отредактируйте следующую строку:
Этот параметр позволит всем членам «корневой» группы подключаться к серверу Linux по ssh.
Нажмите клавишу ESC, чтобы выйти из режима вставки, и введите : wq, чтобы сохранить и выйти из файла конфигурации SSH. Перезапустите службу SSH, чтобы изменения вступили в силу.
$ sudo systemctl restart sshd
Теперь пользователю sk и всем членам «корневой» группы разрешено подключаться к вашему Linux-серверу по ssh. Остальные пользователи (кроме sk и членов группы «root») не имеют доступа к системе через ssh.
Чтобы проверить это, попробуйте подключиться к серверу Linux по ssh от имени любого из запрещенных пользователей:
Вы получите следующее сообщение об ошибке:
ostechnix@192.168.225.52's password: Permission denied, please try again.
2. Запретить доступ по SSH пользователю или группе
Чтобы отключить или запретить доступ по SSH для пользователя или группы, вам необходимо добавить/изменить следующие директивы в файле sshd_config вашего удаленного сервера.
Чтобы запретить доступ по SSH конкретному пользователю с именем «sk», отредактируйте файл sshd_config:
$ sudo vi /etc/ssh/sshd_config
Добавьте/отредактируйте следующую строку в файле sshd_config.
Убедитесь, что отступы правильные. Не используйте клавишу пробела. Нажмите клавишу Tab и добавьте имя пользователя.
Аналогичным образом, чтобы запретить доступ по SSH нескольким пользователям, укажите имена пользователей через пробел, как показано ниже.
Аналогичным образом, чтобы запретить доступ по SSH для всей группы, например root , добавьте:
Сохраните и выйдите из файла конфигурации ssh. Перезапустите службу ssh, чтобы изменения вступили в силу.
$ sudo systemctl restart sshd
Теперь попробуйте ssh на свой Linux-компьютер из заблокированной учетной записи пользователя, например sk:
Вы получите следующее сообщение:
sk@192.168.225.52's password: Permission denied, please try again. sk@192.168.225.52's password:
3. Отключить вход в систему через SSH-root
Доступ с root-доступом по ssh считается плохой практикой с точки зрения безопасности . Поэтому настоятельно рекомендуется отключить вход в систему SSH Root для защиты вашей системы.
Чтобы отключить вход в систему root ssh, отредактируйте файл sshd_config:
$ sudo vi /etc/ssh/sshd_config
Найдите следующую строку, раскомментируйте ее и установите значение no .
Перезапустите службу SSH, чтобы изменения вступили в силу немедленно:
$ sudo systemctl restart sshd
Теперь вы знаете, как предоставлять и ограничивать доступ по SSH для определенных пользователей или групп в Linux. Вы также узнали, как запретить или отключить вход root по SSH в Linux. Это одна из рекомендуемых мер безопасности, которую должен применять каждый администратор Linux при настройке сервера Linux.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.
How to Give ssh Access to a User in Ubuntu
A Secure Shell, or SSH for short, is mainly used for secure network connections between two nodes, such as a client and a server. All communication is encrypted between the two systems, and users can connect their systems remotely and perform administrative jobs by enabling SSH access. Users can also securely transfer files using the SCP and SFTP protocols. This article shows you how to enable SSH access to a user in an Ubuntu system.
Enable SSH Access in Ubuntu
When Ubuntu is first installed, the user cannot use the remote SSH access by default. So, enable SSH in Ubuntu using the following simple method.
Install open-ssh Package
Open the terminal by pressing ‘Ctrl+Alt+T’ and update the packages list. Next, install the following open-ssh package on your Ubuntu 20.04 system:
During the installation process, a dialog will prompt you in the terminal. Enter ‘y’ to proceed with the installation.
Once the installation of the open-ssh package is completed, the SSH service will automatically start on your system. You can also verify that the service is active by entering the following command:
If the following output is received in the terminal, the SSH service is running and enabled.
Move to the command-line shell and press ‘q.’ This will return you to the normal shell.
You can disable the SSH service on your system with the following command:
To re-enable the SSH service, use the following command:
Enable Firewall Configurations for SSH
Using the UFW firewall configuration tool, you can enable it on your system. If you have already enabled the firewall on your system, then make sure that all SSH ports are open by issuing the following command:
Now that all the configurations have been completed, you can connect your Ubuntu system with any remote system via the SSH. In Linux and macOS distributions, SSH clients are installed by default.
Connect to the SSH Server
The following ‘ssh’ command can be used, along with the username and IP address, to connect your Ubuntu system over the LAN. Use the command provided below to do so:
If you do not know your IP address, then use the following command to access it:
Replace the username and IP address with your information, as follows:
The following result will appear in the terminal:
Type ‘yes’ to connect your Ubuntu system over the LAN.
Enter the password. The following output will be shown in the terminal:
Now, you are signed in on your Ubuntu system.
Connect SSH to A Remote Server
SSH accepts data by default on port 22. Find your public IP address and issue the following command to connect the SSH server to a remote system:
Configure your router to accept the SSH traffic on port 22.
Conclusion
This article showed you how to enable SSH access in Ubuntu 20.04. Now, you can log in to your system and perform everyday administrative tasks through the command-line. In case of any query related to this article then let us know through your comments.
About the author
Karim Buzdar
Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. He blogs at LinuxWays.
Как разрешить пользователю root заходить по SSH в системах Linux Ubuntu
Обновлено: 04.03.2023 Опубликовано: 07.01.2017
По умолчанию, в некоторых системах Linux (например, Ubuntu) для суперпользователя root вход по SSH с использованием пароля не работает. При попытке подключиться можно увидеть сообщение «access denied» или «permission denied». Такая настройка необходима для обеспечения большей безопасности системе. Однако, если требуется предоставить возможность подключаться по SSH от пользователя root, необходимо выполнить нижеописанное.
* Инструкция подойдет для большинства UNIX-систем.
С использованием сертификата
Система настроена таким образом, чтобы можно было подключиться под пользователем root с использованием сертификата. Рассмотрим, как это сделать.
На любом компьютере с Linux сгенерируем пару ключей командой:
. будет создано 2 файла id_ed25519.pub и id_ed25519. Содержимое файла id_ed25519.pub фиксируем.
Идем на наш целевой компьютер Ubuntu. Создаем каталог:
Вставляем в него содержимое файла id_ed25519.pub.
Теперь с компьютера, где были созданы сертификаты можно зайти на компьютер с Ubuntu:
Теперь с использованием ключа из файла id_ed25519 можно подключиться к нашему компьютеру Ubuntu без пароля.
По паролю
Для начала, необходимо создать пароль пользователю root следующей командой:
После нажатия Enter вводим дважды пароль.
Теперь открываем настройки SSH:
и редактируем параметр PermitRootLogin — задаем значение yes:
* если параметр закомментирован, снимаем комментарий.
** по умолчанию, значение может быть without-password или prohibit-password — оно разрешает вход для root средствами GSSAPI (не парольной аутентификации), например, смарт-карты или отпечатка пальца.
systemctl restart ssh || systemctl restart sshd
или в старых версиях без systemd:
service ssh restart || service sshd restart