修改SSH端口并禁用密码登陆
修改SSH端口并禁用密码登陆
弄了台 vps,结果发现 1 天内被爆破了 1000+ 次密码,于是找了下资料
查看SSH日志
查看历史登陆情况
last
查看使用密码登陆 root 用户失败的记录(暴力破解 root 密码)
sudo grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
查看使用错误用户名登陆失败的记录(暴力破解用户名)
sudo grep "Failed password for invalid user" /var/log/auth.log | awk '{print $13}' | sort | uniq -c | sort -nr | more
一般来说修改 ssh 端口,使用公私钥禁用密码登陆就能起到不错的防护效果
生成RSA公私钥
使用服务器生成位数为4096的rsa公私钥
ssh-keygen -t rsa -b 4096 # 生成位数为4096的rsa公私钥
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
将公钥文件追加到验证文件中
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
完成后保留私钥 id_rsa
到本地作为连接使用,服务器上删除私钥 id_rsa
保证安全
SSH相关配置
编辑 sshd 配置文件
vim /etc/ssh/sshd_config
Port 22 # SSH 端口 随机填一个10000-65535的端口
PermitRootLogin yes # 允许 root 用户登陆
RSAAuthentication yes # RSA 认证
PubkeyAuthentication yes # 开启公钥验证
AuthorizedKeysFile .ssh/authorized_keys # 验证文件路径
PasswordAuthentication no # 禁止密码认证
PermitEmptyPasswords no # 禁止空密码
重启 sshd
service sshd restart
!> 注意有的服务器会导入自己的配置项,导致重启后依旧无法配置
例如配置文件中有 Include /etc/ssh/sshd_config.d/*.conf
可以自行对其注释,或修改配置
我的 vps 中就引入了 PasswordAuthentication yes
应该是保证控制台的 shell
可以连上,修改为 PasswordAuthentication no
即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)