修改SSH端口并禁用密码登陆
弄了台 vps,结果发现 1 天内被爆破了 1000+ 次密码,于是找了下资料
查看SSH日志
查看历史登陆情况
shell
last
查看使用密码登陆 root 用户失败的记录(暴力破解 root 密码)
shell
sudo grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
查看使用错误用户名登陆失败的记录(暴力破解用户名)
shell
sudo grep "Failed password for invalid user" /var/log/auth.log | awk '{print $13}' | sort | uniq -c | sort -nr | more
一般来说修改 ssh 端口,使用公私钥禁用密码登陆就能起到不错的防护效果
生成RSA公私钥
使用服务器生成位数为4096的rsa公私钥
shell
ssh-keygen -t rsa -b 4096 # 生成位数为4096的rsa公私钥
txt
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): # 使用默认的存放路径(一般默认即可)
Enter passphrase (empty for no passphrase): # 秘钥的密码(默认空即可,根据需要使用)
Enter same passphrase again: # 密码 (默认空即可,根据需要使用)
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:zUAZt7Ydw2s0LQqupcMjvB1KtniGX344tnxl2CE3zUg root@ArchLinux
The key's randomart image is:
+---[RSA 4096]----+
| oo. |
| ...Eo . |
| o.o+B . |
| ..*==o* |
| S==o+ |
| . . +. +. |
| .= O. o |
| .+oX++o |
| .+=.== |
+----[SHA256]-----+
此时 /root/.ssh/
目录下会生成 id_rsa
id_rsa.pub
两个文件
将公钥导入VPS
将公钥文件追加到验证文件中
shell
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
完成后保留私钥 id_rsa
到本地作为连接使用,服务器上删除私钥 id_rsa
保证安全
SSH相关配置
编辑 sshd 配置文件
shell
vim /etc/ssh/sshd_config
txt
Port 22 # SSH 端口 随机填一个10000-65535的端口
PermitRootLogin yes # 允许 root 用户登陆
RSAAuthentication yes # RSA 认证
PubkeyAuthentication yes # 开启公钥验证
AuthorizedKeysFile .ssh/authorized_keys # 验证文件路径
PasswordAuthentication no # 禁止密码认证
PermitEmptyPasswords no # 禁止空密码
重启 sshd
shell
service sshd restart
注意有的服务器会导入自己的配置项,导致重启后依旧无法配置
例如配置文件中有 Include /etc/ssh/sshd_config.d/*.conf
可以自行对其注释,或修改配置
我的 vps 中就引入了 PasswordAuthentication yes
应该是保证控制台的 shell
可以连上,修改为 PasswordAuthentication no
即可
__EOF__
本文作者: HUOE 本文链接: https://www.cnblogs.com/HUOE/p/18336362 关于博主: 评论和私信会在第一时间回复。或者直接私信我。 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...