修改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 即可

posted @   HUOE  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示