scp
это то, что вы ищете.
Скопируйте файл с удаленного хоста (example.com )в ~/Загрузки на свой компьютер
scp root@example.com:/tmp/file ~/Downloads
.. и с вашего компьютера на удаленный хост (в домашний каталог)
scp /tmp/file root@example.com:~/
Похоже, что это scp пытается вызвать getpwuid ()для UID пользователя, и поскольку sssd работает вне chroot, это не удается. Только scp выполняет эту проверку, ни sftp, ни ssh не делают этого.
if ((pwd = getpwuid(userid = getuid())) == NULL)
fatal("unknown user %u", (u_int) userid);
Странно то, что они не используют его позже. Тонкий, я мог бы построить scp без этой проверки и посмотреть, работает ли он. Но было бы неплохо заставить chroot работать с sssd:)
Немного покопался, и если у вас все в порядке с монтированием привязки в область 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
Надеюсь, это поможет
У меня была та же проблема, и я обнаружил, что getent passwd и группа getent не возвращают пользователей из LDAP. Обходной путь, который был найден, состоял в том, чтобы вывести getent в каталог chroot.
getent passwd > /<chroot directory>/etc/passwd
getent group > /<chroot directory>/etc/group