搭建安全的SSH多用户环境

最近维护的Linux需要给特定的用户分配SSH权限,直接使用系统的useradd命令添加的用户权限其实非常高,会给系统带来很大的风险。因此需要借助软件限定这些用户的权限,安装有主机控制面板的Linux服务器都可以很方便的给用户设置安全的SSH帐户,而大部分服务器却只有一个终端字符界面,软件的寻找很容易就完成,我推荐使用jailkit。下面我把我的安装过程和大家分享一下。

下载编译安装(CentOS 5)

cd /usr/local/src
wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz
tar -zxf jailkit-2.11.tar.gz
cd jailkit-2.11
./configure
make && make install
cp extra/jailkit /etc/init.d/jailkit
chmod 755 /etc/init.d/jailkit
chkconfig jailkit on

指定目录做chroot目录。这里以/var/chroot为例。

mkdir /var/chroot
chown root:root /var/chroot
jk_init -v -j /var/chroot sftp scp jk_lsh extendedshell

jk_init命令中后面几个参数(sftp scp jk_lsh extendedshell)的意思,是将必备的chroot环境需要的二进制文件和库文件复制到chroot环境下,可从/etc/jailkit/jk_init.ini文件中得到更多解释。

添加用户并限制其家目录,添加用户有两种方法:执行/usr/sbin/jk_addjailuser [OPTIONS] chrootdir username建立受限用户,受限用户的组均隶属于users组;另外一种方法也是推荐的方法,先建立系统用户,再转移到chroot环境下。这里介绍后者的步骤:

useradd user1
passwd user1
jk_jailuser -m -n -j /var/chroot --shell=/bin/bash user1

执行后原/home路径下的用户目录会被移到chroot环境下。

tip:如果在/home路径下的用户目录有做其他用途,如apache配置的虚拟主机目录,可临时将chroot环境的用户目录挂载回去。执行命令:

mkdir /home/user1
mount --bind /var/chroot/home/user1 /home/user1

Related Posts
  1. 老苏

    很复杂但我没研究!

  2. 我也马上要搬到HK主机去了 嘿嘿!

  3. 你又搬回HK了?

  4. 麻烦博主看下用下面这种方法添加的SSH账号对系统的安全影响大不大
    添加的账号是用来SSH代理翻墙上网的 其它无它用
    vi /bin/usessh.sh #创建脚本
    #!/bin/sh #编辑脚本
    echo “”
    echo “ ********************************************************************”
    echo “ * welcome to http://imldj.info- SSH Tunnel press a key to exit. *”
    echo “ ********************************************************************”
    echo “”
    read x
    exit
    :wq #保存退出!
    groupadd imusessh
    chmod 755 /bin/usessh.sh #加权限
    useradd usessh -g imusessh -s /bin/usessh.sh #加usessh用户
    passwd usessh #设置密码。

  5. 角落的方法貌似也不错
    有机会是一下看看
    不过我用的是其他解决方案哦
    呵呵
    而且一般时候在线代理也足够了
    http://www.kkdaili.com
    这个是我自己搭建的在线代理
    其中部分节点的环境使用的还是博主的LNAMP
    不知道博主的LNAMP如何同时重启Nginx和Apache呢?
    遇到过504的情况,不知道如何解决,最后只好整机重启了....

    • 查看启动脚本你就知道怎么一并重启了。另,504错误一般是后端Apache的问题,建议查看错误日志。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>