Answers:
我只需要设置一个可以通过ssh和ssh登录到另一台服务器(未直接连接到外界)的用户。cstamas和ericmayo的联系是一个好的开始。
基本上,我在/ etc / ssh / sshd_config中添加了以下内容:
匹配用户myuser ChrootDirectory / chroot / myuser
从那里开始,我只需要在/ chroot / myuser下创建chroot环境。我复制了/ bin / bash和/ usr / bin / ssh及其所需的共享库(ldd将显示这些库)。对于较大的环境,可能需要编译所需可执行文件的静态链接版本。
Bash立即工作,要使ssh正常工作,我还必须创建.ssh目录,复制/etc/passwd、/etc/nsswitch.conf和/ lib / libnss_ *并创建/ dev / null,/ dev / tty和/ dev / urandom通过mknod。
mkdir /chroot
mkdir -p /chroot/home/<user_name>
mkdir /chroot/home/<user-name>/bin
cp -pr /bin/bash /chroot/home/<user_name>/bin/.
cp -pr /bin/ls /chroot/home/<user_name>/bin/.
cp -pr /lib64 /chroot/home/<user_name>/.
您必须编辑/ etc / sshd_config文件并添加
ChrootDirectory /chroot/%h
并重新启动sshd守护程序。
所有人都说过,老实说,我认为sftp是更好的选择。
另外,我发现了这个网址,如果有帮助的话。
据我所知,新版本的OpenSSH仅允许chroot进行SFTP连接。我试过了并且有效。但是对于SSH,可用的解决方案是chrootssh补丁。我浏览了SourceForge网站,没有文件,所以我认为已停产。
对于Debian Etch,这里有一些文件:http : //debian.home-dn.net/etch/ssh/
这里还有其他解决方案:http : //www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html,包括chrootssh。