Только что создал новый виртуальный сервер Ubuntu, и я нахожусь в процессе его настройки для использования в производстве. У меня есть учетная запись root. Я хочу сделать следующее:
Создать нового пользователя (назову его jim). Я хочу, чтобы у них был /home/ каталог.
Дать jim Доступ по SSH.
Позволять jim выполнять su для ускоренения, но не для выполнения sudo операции.
Отключите корневой доступ по SSH.
Переместите SSHd на нестандартный порт, чтобы помочь остановить грубые атаки.
Моя проблема связана с первыми двумя пунктами. Я уже нашел useradd но по какой-то причине я не могу войти в систему как пользователь, созданный с его помощью по SSH. Нужно ли мне обойти SSHd, чтобы разрешить это?
Редактировать (как root) /etc/ssh/sshd_config. Добавьте к нему следующее:
Port 1234PermitRootLogin noAllowUsers jim
Port 1234 заставляет SSH прослушивать порт 1234. Вы можете использовать любой неиспользуемый порт от 1 до 65535. Рекомендуется выбрать привилегированный порт (порт 1-1024), который может использоваться только root. Если ваш SSH-демон по какой-либо причине перестает работать, вредоносное приложение не сможет перехватить соединение.
PermitRootLogin запрещает прямой вход в систему с правами суперпользователя.
AllowUsers jim позволяет пользователю jim для входа в систему через SSH. Если вам не нужно входить в систему отовсюду, вы можете сделать это более безопасным, ограничив jim IP-адресом (замените 1.2.3.4 вашим фактическим IP-адресом).:
AllowUsers jim@1.2.3.4
Изменения в файле конфигурации /etc/ssh/sshd_config применяются не сразу, чтобы перезагрузить конфигурацию, запустите:
Там будут подсказки в /var/log/auth.log о том, почему SSH (или PAM) отклоняет попытку входа в систему. Дополнительные подсказки могут быть найдены с помощью -v вариант с тсс клиент. Несколько распространенных ситуаций, некоторые из которых упоминаются в других ответах:
в учетной записи пользователя отсутствует пароль или она иным образом отключена (см. man passwd, попробуйте сбросить пароль или проверить содержимое /etc/shadow).
/etc/ssh/sshd_config настроен на запрет входа в систему (DenyUsers, AllowUsers, PasswordAuthentication, PubkeyAuthentication, UsePAM и т.д., см. man sshd_config).
оболочка пользователя не указана в /etc/shells.
различные проблемы с разрешениями для каталогов или файлов, связанные с работой SSH: /etc/ssh, /home/jim/.ssh, /home/jim/.ssh/* и т.д.
Я бы также рекомендовал использовать добавить пользователя (вместо пользовательское дополнение) для добавления новых пользователей; это немного более дружелюбно относится к различным настройкам учетной записи по умолчанию.
До тех пор, пока пользователь не является частью admin группы, они не смогут потеть чтобы укорениться. Чтобы они могли использовать Ваш, вам нужно будет установить пароль root (passwd root), после чего я рекомендую установить PermitRootLogin=no в /etc/ssh/sshd_config.
Я могу ошибаться, но мне всегда приходится устанавливать демон сервера, прежде чем я смогу подключиться (по крайней мере, на рабочем столе) ssh установлен по умолчанию, но это всего лишь клиент
эта команда устанавливает сервер
sudo apt-get install openssh-server
Вы можете изменить порт и остановить вход в систему root, отредактировав
/etc/ssh/sshd_config
Однако для этого вам необходимо перезапустить службу.
Если эта команда возвращает символ "!", то вход в систему для этой учетной записи отключен. Проведение passwd jim as root предложит вам ввести новую и подтвержденную строку пароля, после чего приведенная выше команда grep должна вернуть хэшированную строку, представляющую пароль для jim.
Также обязательно убедитесь, что у jim есть оболочка входа в систему, установленная по умолчанию, и существующий домашний каталог.
Пожалуйста, обратите внимание на сообщение Лекенштейна для получения информации об изменении настроек SSH-сервера.
В моем случае у меня была группа, которой был разрешен доступ, и пользователь не был ее частью. Это решило проблему для меня.
Используя приведенный выше пример с пользователем jim и принять члена группы jim поскольку это только группа (проблема groups команда при входе в систему как jim чтобы найти группы, частью которых вы являетесь). В моем /etc/ssh/sshd_config файл, который у меня был AllowGroups sshusers запись и, следовательно, необходимо добавить jim к sshusers группа. Ниже показано, как это будет достигнуто:
usermod -a -G sshusers jim
Замените свою группу и пользователя в соответствии с вашей конфигурацией.
@B. Roland У меня действительно есть файл “/etc/nologin”, но он пуст. Я удалил его и перезапустил ssh, но он по-прежнему просто отвечает: "В разрешении отказано, пожалуйста, попробуйте еще раз.`когда я пытаюсь войти в систему.
Привет! Я могу помочь вам с серверами, я не знаю, в чем ваша проблема с SSH, потому что для меня конфигурация по умолчанию никогда не отказывает в моем соединении. Вы можете увидеть man 5 nologin, это пишет, что если /etc / nologin существует, вы можете войти в систему только с правами root. Попробуйте войти в систему обычным способом, затем запишите результаты.