root选择性远程登陆的方法

系统:redHat 5.5
背景:
         在linux的世界了,root用户就好像是神,它可以在系统中为所欲为,无所不能,极端情况下它可以将它存在的世界自删除。所以每个公司Linux系统管理员都希望尽量少的管理者知道root密码。但在实际工作中,技术安全和公司流程、策略难免也有冲突的时候。公司除了你,还有其他几位大牛都知道root密码。为了安全,只允许你和这几位大牛的机器远程root登陆服务器。

解决方法:

        通常做法是修改/etc/ssh/sshd_config文件,将其中的PermitRootLogin改成no,然后重新启动ssh服务.service sshd restart
但是这样做便把作为管理员的你也挡在了门外,就好像为了防贼进入屋子,你却站在屋外把门封了。如果那天服务器出了问题需要root用户登陆维护,那你就只有乖乖跑路到机房,忍受着辐射和噪音,接上显示器和键盘local登陆。
为了给自己和受信的机器留出root通道,同时又要限制其它所有root远程登陆。
可以在/root/.bash_profile中加入以下几行简单bash代码就可以了。
 

  
  
  
  
  1. allowHostsList="192.168.0.10 192.168.0.11" #允许root远程登陆的IP  
  2. remotHost=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')  
  3. if echo "${allowHostsList}" | grep "${remoteHost}" > /dev/null 
  4.   then :  
  5.   else 
  6.     exit  
  7. fi  

 

你可能感兴趣的:(linux,root,远程登陆)