Howto chroot sftp with RSSH on FreeBSD 6.x

I was able running rssh with FreeBSD 4.11 once, since upgrading to FreeSBD 6.1, I found it has different way to control the process of system files.

INSTALLATION

You can install rssh as usual, mine from source install version 2.3.2. This howto based on install rssh with --prefix=/usr/local.

CREATE GLOBAL CHROOTBASE

Decide the services and chrootpath in /usr/local/etc/rssh.conf. You can change whatever service or path you want, but make sure to change it accordingly.

...
allowsftp
chrootpath = "/home/chrootbase"
...

Minimum system files required

sftp-server

As I enable allowsftp in rssh.conf, we need to install sftp-server inside jail.
# mkdir -p /home/chrootbase/usr/libexec
# cp /usr/libexec/sftp-server /home/chrootbase/usr/libexec/
# ldd /usr/libexec/sftp-server
So now we know the dependencies of sftp-server, mine as in /usr/lib and /lib
# mkdir -p /home/chrootbase/usr/lib
# cp /usr/lib/libssh.so.3 /home/chrootbase/usr/lib
# cp /lib/libcrypt.so.3 /home/chrootbase/lib
# cp /lib/libcrypto.so.4 /home/chrootbase/lib
# cp /lib/libz.so.3 /home/chrootbase/lib
# cp /lib/libc.so.6 /home/chrootbase/lib
# cp /usr/lib/libgssapi.so.8 /home/chrootbase/usr/lib
# cp /usr/lib/libkrb5.so.8 /home/chrootbase/usr/lib
# cp /usr/lib/libasn1.so.8 /home/chrootbase/usr/lib
# cp /usr/lib/libcom_err.so.3 /home/chrootbase/usr/lib
# cp /lib/libmd.so.3 /home/chrootbase/lib
# cp /usr/lib/libroken.so.8 /home/chrootbase/usr/lib

 

With above configuration, chroot environtment works for me, hopefully yours too. Good luck!


Tea One
t
e
a
o
n
e
@
a
r
t
o
f
i
n
d
o
.
c
o
m