linux限制ssh用户使用命令

时间:2023-01-21 21:55:53


    假设有机器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
 
                exportPATH
          4、加入想让该用户使用的命令,如ssh
              mkdir $HOME/bin
              ln -s /usr/bin/ssh $HOME/bin/
这样当登陆这台机器的时候,除了ssh 命令,不能使用其他任何命令。效果如下:
sshusr @192.168.122.28
bash-3.2$ lsbash: ls: command not found bash-3.2$
即使ls也不能使用



----------------

 
文章参考:http://hi.baidu.com/hooomer/blog/item/238a57ebefe064dbd539c91c .html