我需要为SSH代理的唯一目的而创build一个Linux用户。 除此之外,用户不应该去浏览文件系统,甚至不能真的访问一个shell。
很明显,我可以chmod删除所有的读/写/执行权限,但这显然是一个非常糟糕的,可能是一个耗时的选项。
使用此用户的唯一连接应通过ssh -D [email protected]
我正在运行Debian 7。
如果用户要login,他们将必须能够读取文件系统的一些位。 您无法启动交互式shell而无法访问某些文件。
如果他们所需要做的只是validation足够远的隧道来连接其他连接(包括利用ssh SOCKS代理工具),最好拒绝用户交互的shell(例如, usermod -s /sbin/nologin account ),然后让他们validation没有交互( ssh -N -D 23456 [email protected] )。
不要忘记, ssh -D 需要一个端口号来绑定本地的SOCKS代理,所以你的问题中的例子在语法上是无效的。
你可以使用chrooted的ssh用户或组吗? 我从来没有实现它,但似乎这可能有所帮助: https : //www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny
这个教程是给Lenny的,但是希望这个变化不会太大。