有时候我们成功登录到Linux服务器时,会看到控制台会有类似于这样的打印

Last failed login: Fri Nov 11 12:59:55 CST 2022 from xxx.xxx.xxx.xxx on ssh:xxx
There was 99999 failed login attempt since the last successful login.

这种情况很有可能是有人在通过字典暴力破解等手段来尝试登录服务器,特别是很多服务器密码简单并且没有禁用拥有高级权限的root默认账号

其他人一旦使用某种组合登录成功后便可以对服务器为所欲为

下面通过简单的方法来尽可能避免这些情况发生,还控制台一个清静

1、不响应其他服务器的Ping请求

因为一般系统默认都会响应其他服务器的ping请求,所以ping命令通常是用来检查服务器与服务器之间的连通性的,这样意味着有心人可以通过轮询IP地址段等方式来找到想要攻破的服务器靶机

所以禁止响应其他服务器的ping请求可以一定程度上提高自己的服务器隐蔽性,服务器禁用ping响应并不会影响客户端与服务的http等协议的接口请求,禁用后只是服务器不响应ping命令而已,接口还是可以正常请求的

一、临时生效
允许ping
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
禁止ping
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
二、永久生效
修改文件:/etc/sysctl.conf
允许ping
增加一行:
vi /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=0
禁止ping
增加一行:
vi /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1
修改后使用以下命令使之生效:
sysctl -p

2、使用密钥而不是密码登录服务器
Windows用户可以使用MobaXterm等等工具来生成密钥
1、使用ssh-keygen生成密钥文件,可以指定生成的密钥格式为pem,如果不是pem格式,可以使用下面的命令将其转为pem格式
ssh-keygen -p -m PEM -f /Users/test/keys/id_rsa.pem
2、第一步执行完成后会生成id_rsaid_rsa.pub两个文件,其中.pub结尾的是公钥,放置在远程服务器端
可以使用命令将生成的密钥文件追加到authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3、编辑sshd_config文件
vi /etc/ssh/sshd_config

#设置认证端口为22
Port 22
#设置为密钥登陆
PubkeyAuthentication yes
#设置禁用密码登陆(这个看自己需求,也可以保留密码登录,最好是只用密钥登录)
PasswordAuthentication no

配置完后需要重启sshd服务才可以生效:
service sshd restart

可以尝试使用终端登录远程服务器
如在Mac下登陆提示
WARNING: UNPROTECTED PRIVATE KEY FILE!
说明文件访问权限过高,将导致系统自动忽略此密钥文件
It is required that your private key files are NOT accessible by others.
This private key will be ignored
设置权限为700后可以正常使用
chmod 700 /Users/test/keys/id_rsa.pem
可以Mac命令控制台使用以下命令测试是否可以正常登录远程服务器

ssh -i /Users/test/keys/id_rsa.pem root@IP地址

原文地址:http://www.cnblogs.com/yourxiong/p/16882261.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性