Нет пользователя с uid 721001106 при запуске команды ssh в каталоге chroot SSH

scp это то, что вы ищете.

Скопируйте файл с удаленного хоста (example.com )в ~/Загрузки на свой компьютер

scp root@example.com:/tmp/file ~/Downloads

.. и с вашего компьютера на удаленный хост (в домашний каталог)

scp /tmp/file root@example.com:~/
3
12.03.2019, 02:26
3 ответа

Похоже, что это scp пытается вызвать getpwuid ()для UID пользователя, и поскольку sssd работает вне chroot, это не удается. Только scp выполняет эту проверку, ни sftp, ни ssh не делают этого.

if ((pwd = getpwuid(userid = getuid())) == NULL)
   fatal("unknown user %u", (u_int) userid);

Странно то, что они не используют его позже. Тонкий, я мог бы построить scp без этой проверки и посмотреть, работает ли он. Но было бы неплохо заставить chroot работать с sssd:)

0
19.03.2020, 01:02

Немного покопался, и если у вас все в порядке с монтированием привязки в область chroot, вы можете получить ssh, scp и sftp для связи с sssd.

Вот так:

cd /FileTransfer
mkdir -p var/lib/sss/pipes
cd var/lib/sss
mount --rbind /var/lib/sss/pipes pipes/ 
cp -p /etc/nsswitch.conf /FileTranser/etc

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

0
19.03.2020, 02:38

У меня была та же проблема, и я обнаружил, что getent passwd и группа getent не возвращают пользователей из LDAP. Обходной путь, который был найден, состоял в том, чтобы вывести getent в каталог chroot.

getent passwd > /<chroot directory>/etc/passwd
getent group >  /<chroot directory>/etc/group
0
12.10.2020, 22:53

Теги

Похожие вопросы