У меня есть определенный пользователь (давайте называть его user
так в этом посте) на хосте, который выдает следующие ошибки при попытке подключения по SSH через аутентификацию с открытым ключом:
PTY allocation request failed on channel 0
Direct login access is disallowed
Первую ошибку я могу устранить с помощью ssh user@host "/bin/bash -i"
, но вторую ошибку обойти не могу.
Что я пробовал:
- Я могу
sudo -s
(илиsudo -i
пользователю root на хосте напрямую). - Пользователь заблокирован (
passwd -l user
), я разблокировал и назначил пользователю пароль. Та же проблема. Однако я могу,su - user
как и любой другой пользователь, после того, как учетная запись разблокирована и применен пароль. - Я проверил
/etc/ssh/sshd_config
на сервере, нет записей дляAllowUsers
,AllowGroups
,DenyUsers
,DenyGroups
. - Я могу подключиться по ssh напрямую как root без проблем.
- Я создал нового пользователя и могу подключаться к нему напрямую по SSH.
- Подтверждено, что выбор ключа SSH и authorized_keys настроены правильно, однако я не думаю, что это ключевая проблема.
/etc/passwd
показывает, что пользователь/bin/bash
установил для своей оболочки./etc/security/access.conf
полностью закомментирован и не имеет никаких настроек.- перезапускал sshd много раз.
- Файла нет
/etc/login.blocks
. /var/log/secure
,/var/log/messages
, ниjournalctl -fu sshd
только показыватьSession open
тогдаSession closed for user user
ssh user@host -vvvvvvv
просто показываетDirect login access is disallowed
- перезагрузил хост.
Примечание: это система Rhel, в которой подписки пока не включены.
Что дает? Почему я не могу получить доступ к этому
решение1
Разобрался. Это был скрипт, который кто-то написал и который ограничивал доступ к хосту. Скрипт запускался после того, как кто-то подключался к пользователю через ssh.
Это было реализовано в user
's ~/.ssh/authorized_keys
.
Вот строка, которая отображалась в файле:
command="/home/user/script/that/was/causing/problems.sh", ssh-rsa ABC123hugepubliccipher==
После удаления command=
раздела пользователи снова смогли войти по SSH.