linux限制ssh用户使用命令

假设有机器A和B,分别有帐户a和b,现在希望允许a能以b的身份登陆B,但是限制a仅能访问$HOME/bin下面的命令(比如作为中转机,要求只能使用ssh命令),可以如下操作:
        1、在A上帐户a下生成RSA密匙对,并把公钥写入B的帐户b下的~/.ssh/authorized_keys中。
        2、编辑~/.ssh/authorized_keys,在前面加上语句:
command=”bash –restricted –noprofile –rcfile $HOME/.stricted_profile” ssh-rsa 。。。
         这句话的作用是使用restricted模式,并且不加载系统默认的profile文件,而加载我们定义的profile文件$HOME/.stricted_profile。上面添加command参数一定是在一个主机行的前面,每添加一台主机,需要添加一行。
         3、编辑 $HOME/.stricted_profile文件
                PATH=${HOME}/bin
                export PATH
         4、加入想让该用户使用的命令,如ssh
             mkdir $HOME/bin
             ln -s /usr/bin/ssh $HOME/bin/
这样当登陆这台机器的时候,除了ssh 命令,不能使用其他任何命令。效果如下:
ssh usr@192.168.122.28
bash-3.2$ ls bash: ls: command not found bash-3.2$
即使ls也不能使用

发表评论