ubuntu如何使用密钥登录,禁止密码登录,从而提高服务器安全性

avatar
作者
筋斗云
阅读量:2

最近服务器遭到攻击,被当成肉鸡来挖K
你挖就挖吧,占用了我全部的CPU算力,还把我正常的服务给停了,这不是一下就给人发现了吗。。。
服务器总感觉使用密码登录不太安全
为了提高服务器安全性准备采用密钥的方式登录
事实证明,使用密钥登录后就没有被攻击了。

-----具体步骤------
ubuntu设置使用密钥登录
1.生成公私密钥文件

ssh-keygen  

(一路按回车,私钥文件路径为:/root/.ssh/id_rsa,公钥文件:/root/.ssh/id_rsa.pub)

2.将公钥写入到服务器文件(~/.ssh/authorized_keys)中
查看公钥内容:
在这里插入图片描述

cat /root/.ssh/id_rsa.pub 复制输出的内容(密钥一般以ssh-rsa AAAA开头),将公钥写入到authorized_keys文件中 vim ~/.ssh/authorized_keys 

3.修改公钥文件权限

chmod 600 ~/.ssh/authorized_keys 

4.修改禁止密钥登录

cd /etc/ssh/ #将默认文件备份一份 cp sshd_config sshd_config.bak #清空文件内容 echo "" > sshd_config #准备写入配置 vim sshd_config 

5.将以下内容全部复制到sshd_config文件中

#必要设置 KbdInteractiveAuthentication no UsePAM yes X11Forwarding yes PrintMotd no AcceptEnv LANG LC_* Subsystem       sftp    /usr/lib/openssh/sftp-server #最大密码尝试次数 MaxAuthTries 6 #开启root登录 PermitRootLogin without-password #启用密码登录 PasswordAuthentication no #密码加密方式 PubkeyAcceptedKeyTypes +ssh-rsa #开启密钥登录 RSAAuthentication yes #密钥免密登录 PubkeyAuthentication yes #确保只有通过密钥进行身份验证 AuthenticationMethods publickey 

5.保存配置后,重启ssh

systemctl restart sshd service ssh restart 

6.将密钥文件下载到本地电脑上,mac需要修改密钥权限

chmod 400 ~/.ssh/id_rsa 

7.测试登录服务器

ssh root@xx.xx.xx.xx -i ~/.ssh/id_rsa 

ps:完成后最好使用账号+秘密的方式登录一下
如何输入以下提示则表示配置成功

root@xx.xx.xx.xx: Permission denied (publickey). 

在这里插入图片描述

如果你觉得此文章对你有帮助,鄙人做了一个识别花草物体的小程序,免费使用,劳烦各位去看看
小程序有广告!!!(不影响使用的那种),您的访问和点击可以帮我带来收益

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!