直接使用Linux系 统的root帐户登录系统,在很多环境下是不允许。而且如果网络中的所有机器都能使用ssh登录关键服务器也是不允许的。这就要求我们需要使用一些手段, 现在root帐号的登录,而且是只有指定的几台机器才能登录。当然限制登录的ip这些通过网络设备也恩那个完成。但是我们只需要了解怎么使用系统自己的功 能实现,这是每一个系统管理员都比较了解的。
1,修改ssh的配置文件,是root用户只能通过本地登录,不能通过远程ssh连接服务器。
vim /etc/ssh/sshd_config,
把#PermitRootLogin yes改成
PermitRootLogin no,然后重启ssh服务器,root用户就不能通过ssh远程登录系统了,只能通过一个普通帐号su或者本地登录。
2,可以同修改其他系统配置文件,使之能通过几个指定的IP远程ssh登录服务器。把下面这段放到root的.bash_profile文件中
ALLOWHOSTSLIST="192.168.163.1"
REMOTEHOST=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')
if echo "${ALLOWHOSTSLIST}" | grep "${REMOTEHOST}" > /dev/null
then :
else
exit
fi
结果就只能通过IP地址是192.168.163.1这台服务器通过ssh远程连接本服务器了。
3,可以把需要ssh远程服务器的IP地址添加到/etc/hosts.allow,例如下面的操作:
sshd:192.168.163.1:allow #只允许这个IP地址ssh登录
sshd:192.168.163.:allow #允许这个网段的所有IP地址ssh登录
sshd:all:deny #拒绝所有没有出现在上面的IP地址的ssh连接
4,也可以使用iptables指定能够远程ssh到服务器的IP地址
iptables -A INPUT -p tcp --dport 22 -s 192.168.163.1 -j ACCEPT #允许这个IP地址ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -s 192.168.163.0/24 -j ACCEPT #允许这个网段的所有IP远程ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -j DROP #除了上面允许的IP地址外,都拒绝使用ssh连接到服务器
linux限制ssh登录的几种方法
原创wenxue_813 博主文章分类:操作系统 ©著作权
©著作权归作者所有:来自51CTO博客作者wenxue_813的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
本地部署llama3的几种方法
Llama3部署方法
Python 本地部署 -
Linux ssh限制IP 登录
Linux ssh 限制IP 登录
Linux ssh 限制IP 登录 -
【Linux】进程不受SSh终端关闭影响的几种方法
参考链接:https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/
nohup setsid screen disown -
linux部署的几种方法
hell脚本中,这里面有两种方式,第一种是直接放入,然后将多条命令用。
linux 运维 服务器 部署 应用程序 -
SSH AKS集群节点的几种方法(二)
承接上文,之前讲的两种方法都是使用一台VM作为跳板来访问到集群的NODE服务器,接下来介绍两种不需要跳板机的方法,相对来说更简单一些
SSH AKS K8S Azure Cloud -
自动ssh登录的几种方法 升级教程
原文链接之前采用sshpass 参见
自动登录 拷贝文件 服务器 bash linux