Не удалось получить SSH-доступ для нового пользователя.

Вопрос или проблема

Я создал нового пользователя на Ubuntu 10
имя пользователя: codeuser

Существует существующий пользователь под именем “admin”. Теперь моя проблема в том, что я не могу напрямую подключиться к серверу, используя учетные данные codeuser. Но я могу подключиться через SSH под “admin”, а затем использовать su (сменить пользователя на codeuser), и это работает. Как мне получить доступ к оболочке пользователя codeuser?

Вот вывод моих файлов:

cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/bin/bash
admin:x:1000:1000:,,,:/home/admin:/bin/bash
ftp:x:107:65534::/home/ftp:/bin/false
codeuser:x:1004:33::/home/codeuser:/bin/bash


cat /etc/group

root:x:0:
www-data:x:33:
codeuser:x:1005:



iptables -L
Цепочка INPUT (политика ACCEPT)
цель     протокол опция источник               назначение          
ACCEPT     tcp  --  везде             везде            tcp dpt:mysql  

Цепочка FORWARD (политика ACCEPT)
цель     протокол опция источник               назначение          

Цепочка OUTPUT (политика ACCEPT)
цель     протокол опция источник               назначение

Проверьте /etc/ssh/sshd_config на наличие списка разрешенных пользователей. Если все в порядке, проблема более сложная. Попробуйте подключиться с помощью “ssh codeuser@your-server -v”

На Ubuntu 18.04 я просто забыл добавить публичный ключ моего клиента в файл разрешенных ключей (этот пост заставил меня задуматься о файле authorized_keys: https://superuser.com/a/1337741/413936).

chmod 700 ~/.ssh
cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys

Затем добавьте публичный ключ вашего клиента в файл authorized_keys.

Но по какой-то причине мне не нужно было добавлять PasswordAuthentication yes в /etc/ssh/sshd_config на Ubuntu 18.04.3 LTS, как упоминали другие. Для ясности, у меня это закомментировано так: # PubkeyAuthentication yes, и я перезапустил службы ssh и sshd и все еще мог подключиться через ssh.

Я наткнулся на эту тему после создания нового пользователя и не смог подключиться по SSH к новому пользователю.
Мне удалось это исправить, после того как я посмотрел на группу и пользователя папки .ssh и файл authorized_keys. Они были установлены на root:root, потому что я скопировал их из папки другого пользователя с помощью sudo.

Итак, я исправил это с помощью:

sudo chown new_user:new_user /home/new_user/.ssh/
sudo chown new_user:new_user /home/new_user/.ssh/authorized_keys

Надеюсь, это поможет

Проверьте /var/log/auth.log на наличие ошибок. Вы назначили пользователю codeuser пароль с помощью команды passwd?

Попробуйте проверить /var/log/auth.log на наличие возможных сообщений об ошибках.

Также попросите пользователя попробовать войти с помощью ssh -v, для более подробного вывода.

Надеюсь, это поможет!

Довольно старый пост, но все еще актуальный. Стоит проверить журналы, как упомянул Марко Рамос выше. В моем случае с Debian 9 группа должна быть наделена разрешениями для /var/log/auth.log

Nov 23 23:10:46 AreNAS sshd[6765]: User are from 192.168.0.36 не разрешено, потому что ни одна из групп пользователя не указана в AllowGroups

Убедитесь, что публичный ключ правильный в этом месте:

/home/newUsername/.ssh/authorized_keys

У меня была похожая проблема при настройке приватного git-сервера на Raspberry Pi.

Я заметил следующее в /etc/ssh/sshd_config

...    
AllowGroups root _ssh
...

Я добавил своего нового пользователя <username> в группу _ssh

sudo usermod -a -G _ssh <username>

Вот и все!

Остальную часть настройки можно найти здесь

На новых установках Debian (возможно, и других дистрибутивов) вам необходимо включить вход с паролем. Это начало происходить недавно. AllowUsers вам не поможет, PermitRootLogin yes вам не поможет.

Конфигурация по умолчанию в /etc/ssh/sshd_config:

# Чтобы отключить перенаправленные пароли в открытом тексте, измените на no здесь!
#PasswordAuthentication yes

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

Ответ или решение

Не удается получить доступ к SSH для нового пользователя: как решить проблему

Введение

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

1. Проверьте настройки SSH

Конфигурация sshd_config

Первое, что нужно сделать, — это проверить файл конфигурации SSH, обычно находящийся по пути /etc/ssh/sshd_config. В этом файле могут быть указаны ограничения для доступа новых пользователей. Убедитесь, что в файле не содержится строчка, ограничивающая доступ, например:

AllowUsers admin

Если такая строка присутствует, вам нужно либо удалить ее, либо добавить пользователя codeuser. После внесения изменений не забудьте перезапустить службу SSH:

sudo systemctl restart ssh

Права доступа

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

  1. Проверьте, что для PasswordAuthentication установлено значение yes:
# PasswordAuthentication yes

Если эта строка закомментирована, раскомментируйте ее и перезапустите SSH.

2. Настройка пользователя и прав доступа codeuser

Убедитесь, что у пользователя есть пароль

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

sudo passwd codeuser

Проверьте папку .ssh и файл authorized_keys

Если вы используете аутентификацию по ключу, необходимо удостовериться, что папка .ssh и файл authorized_keys имеют правильные права доступа и владельца. Выполните команды:

sudo chown -R codeuser:codeuser /home/codeuser/.ssh
chmod 700 /home/codeuser/.ssh
chmod 600 /home/codeuser/.ssh/authorized_keys

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

3. Анализ журналов

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

sudo tail -f /var/log/auth.log

Это поможет вам выявить, почему codeuser может не получать доступ.

4. Дополнительные проверки

  • Группы пользователя: Убедитесь, что пользователь codeuser не входит в группы, для которых наложены ограничения в SSH. Если требуется, вы можете добавить его в такие группы при помощи команды:
sudo usermod -aG <group> codeuser
  • Перезапуск SSH и доступ по ключу: Если вы добавили ключи или изменили конфигурацию, убедитесь, что служба SSH была перезапущена, и попробуйте еще раз подключиться по SSH, используя команду:
ssh -v codeuser@your-server

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...