У меня есть домашний ПК, и я создал обратную переадресацию портов на сервер. Теперь я хотел бы получить доступ к некоторым людям на домашнем ПК через этот сервер. Я хотел бы контролировать доступ пользователя на этом сервере, поэтому я добавил следующие строки в / etc / ssh / sshd_config
Match User restricteduser
ChrootDirectory /home/restricteduser
AllowAgentForwarding no
PermitOpen localhost:3333
, но при попытке подключиться к серверу
ssh restricteduser@serverIP
restricteduser@serverIP's password:
Я получаю следующую ошибку:
Write failed: Connection reset by peer
Файлы журнала для демона ssh должны предоставить вам конкретную информацию о том, что здесь происходит. Проверьте /var/log/auth.log
.
Однако я подозреваю, что именно ChrootDirectory
вызывает проблемы.
Когда remoteuser
входит в систему, демон ssh пытается выполнить переход к /home/restricteduser
и запустить оболочку restricteduser
(возможно, /bin/bash
). Поскольку это chroot, демон ssh будет искать /home/restricteduser/bin/bash
.
Кроме того, любые библиотеки, необходимые оболочке, должны присутствовать в chroot (см. ldd /bin/bash
), и то же самое относится к любым файлам, которые оболочка ожидает быть доступными при запуске. Если сам демон ssh нуждается в доступе к файлам, они также должны присутствовать.
Если restricteduser
будет запускать какие-либо программы после входа в систему, они также должны быть в изолированном каталоге, а также в зависимых от них библиотеках / файлах.