使用密钥登录vps 作者: 毕世平 时间: 2020-09-23 分类: 默认分类 前言:用过谷歌云一段时间,它是默认只能使用密钥登陆的,从网上相关内容来看,用密码登录确实存在一定的风险,使用密钥登录vps服务器是受推荐的。 本文主要介绍开启密钥登录vps的方法,同时关闭密码登录,提高自己服务器数据的安全性。ssh客户端选择的是putty。 # 一、生成公钥 ## 1.1 下载安装putty putty官网是:https://www.putty.org/ ,可以前往下载适合自己电脑的版本,至于安装,应该就是属于基本操作了。 ## 1.2 生成公钥 在putty安装目录下,有个组件叫`puttygen`,你可以打开它,然后点击`Generate`生成公钥。  点击Generate按钮以后,在进度条上下`晃动鼠标`,它会根据情况随机生成公钥。  将生成的公钥 `ssh-rsa` 开头的一大串字符,选中复制到剪贴板上。  ## 1.3 保存私钥 点击`Save private key`,保存生成的私钥,文件名任选,自己能分辨就可以。  # 二、修改服务端 ## 2.1 添加密钥文件 ssh连接到vps上,执行下面命令: apt update && apt -y install vim //安装vim mkdir ~/.ssh && cd ~/.ssh //创建并切换到此文件夹 vim authorized_keys //创建并开始编辑此文件 //下面是文件内容(剪贴板粘贴上) ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArrGnLw8GIDcFAvWKnwC1SDx1BTtDlDHFiF46CeX7G1oza528HydKbdgk2H7JE4oHb6VBcPUJJPOEn/GLSEKmVyEbwBoswpPMPlz9fR7c056ZaxY8hF1UAWieQdNi0aTpw/imH4XQ+nicR7rIUXy8nIh1zIZyAHPAAKVpiiCVay5mfHlZlN5s21+E4xFCzL9pW3KImsHTNSmyMU8bSbHtdXxZ40AEnz+Lfs8TvOltivSnQ8C0ZPFq+G3jxgWc3vr4P6sggBmv2dc0yqIqDTUKlwfSb9rP98ctK/QD1XhD4EeB5JmoNHj2ooNlu0K6qtGpifGwYyI4VNufUsc60mbURQ== putty //上面是文件内容(剪贴板粘贴上) chmod 400 authorized_keys //设置权限 **说明**:关于公钥和私钥,从私钥很容易运算出公钥,但是从公钥很难运算出私钥。如想进一步了解,欢迎自行搜索,反正很安全。 ## 2.2 修改sshd配置文件 cd /etc/ssh && cp sshd_config sshd_config.bak //备份 vim sshd_config //下面是文件示例 *** # Port 22 Port 12345 //一般默认22,在22那行前面加#注释掉,另起一行配置自己设定的ssh端口 *** PubkeyAuthentication yes //取消注释,允许公钥认证 *** PasswordAuthentication no //取消注释,关闭密码登录 *** //上面是配置文件示例 systemctl restart sshd //重启sshd服务 ## 2.3 检验操作是否生效 打开putty,填上参数,点击Open,看是否能以密码方式连接:  不出意外的话,会提示服务端要求使用密钥认证登录,拒绝密码方式。下面选中上面保存的私钥文件,再尝试连接:  标签: none
修改 sshd 端口的话,可能 SELinux 要添加端口,防火墙也要放行
哈,好吧,我选的系统好像默认都是关闭防火墙的,