系统: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代码就可以了。
- allowHostsList="192.168.0.10 192.168.0.11" #允许root远程登陆的IP
- remotHost=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')
- if echo "${allowHostsList}" | grep "${remoteHost}" > /dev/null
- then :
- else
- exit
- fi
转载于:https://blog.51cto.com/root123/888375