linux 在公网上ssh连接,用户密码容易被爆破。用密钥相当于钥匙在你手上,只有你才能打开哪把锁。公网的爆破遇到这种基本没戏。
第一步,生成密钥
密钥分公钥跟私钥。公钥是放在服务上,私钥下载下来,放在你自己本地上,保密安全的地方。
ssh-keygen -t ed25519
第二步,服务器上公钥配置
公钥改成ssh配置默认的文件名
mv ided225519.pub authorized_keys
给相应的权限
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
第三步,ssh配置密钥认证
配置文件在/etc/ssh/sshd_config,用nano改配置,ctrl+o保存,回车确认,ctrl+X退出
nano /etc/ssh/sshd_config
禁止root直接登录,这个可要可不要,跟距你想不想直接用root用户登录。不想用记得创用户
PermitRootLogin no
启用密钥认证(确保以下行未被注释)
PubkeyAuthentication yes
针对禁用密码登录
PasswordAuthentication no
第四步,重启ssh服务
systemctl restart ssh