文章目录
一、背景二、密钥对1、创建密钥对2、绑定密钥对至服务器实例三、配置安全组规则四、生成PUTTY格式的私钥五、Putty使用密钥对远程登录服务器六、配置Putty长时连接七、踩坑一、背景
之前一直使用用户名+密码
的方式远程登录阿里云服务器。经过一段时间,发现这种方式有如下缺点:
比较繁琐,每次都需要输入密码,不安全,密码有可能被暴力破解,阿里云经常提醒服务器有安全漏洞。
so,现在采取比较安全且便捷的SSH密钥对方式进行登录,在配置过程中,也踩了个大坑,所以记录一下,希望对需要的朋友提供一些帮助。
二、密钥对
1、创建密钥对
1、登录阿里云,选择左侧产品与服务
–>云服务器ECS
–>网络与安全
–>密钥对
,点击右上角创建密钥对,创建密钥。
2、创建密钥,名称随意,类型选择“自动创建密钥对”,点击确定,生成密钥对,注意此处必须要将私钥下载至本地
,后续用于密钥配对。
注:如果使用的是chrome内核的浏览器,浏览器会自动下载私钥。
2、绑定密钥对至服务器实例
创建密钥后,返回密钥管理页面,点击绑定密钥对,进入如下界面:
点击左侧实例名称,将其添加到右侧列表,确定。
这样就成功将密钥对绑定到了服务器实例。
三、配置安全组规则
若不配置安全组规则,则无法使用SSH密钥对进行远程登录,所以此处对服务器安全组进行设置:
1、进入安全组:
2、在安全组入方向
,开放SSH(22)
端口,授权对象为0.0.0.0
。
四、生成PUTTY格式的私钥
因为此处使用Putty进行远程登录,而阿里云服务器生成的私钥格式为pem
,所以需要使用puttygen.exe
将其格式修改为Putty可识别的密钥格式ppk
。
步骤如下:
1、进入Putty安装目录,运行puttygen.exe。
此处将阿里云私钥导入,注意此处导入格式选择ALL FILES
。
单击 Save private key。PuTTYgen 会显示一条关于在没有口令的情况下保存密钥的警告,单击 是(Y)。指定与密钥对相同的私钥名称,保存。PuTTY 会自动为文件添加 .ppk 扩展名。
可以看到生成了ppk格式的密钥。
五、Putty使用密钥对远程登录服务器
进入Putty页面,选择SSH
->Auth
,导入ppk
格式的密钥。
导入之后,返回主页面,点击Session。
在 Host Name (or IP address) 里输入需要连接的实例公网
IP 地址,
在 Port 里输入端口号22
;
Connection type 选择SSH
。
至此大功告成?不,连接之后会输出消息Server refused our key
。
这个地方我在网上搜索了很久,各种解决办法层出不穷,最后发现需要重启云服务器实例
,重启之后即可通过SSH密钥连接。
六、配置Putty长时连接
笔者初使用Putty时,经常遇到这种情况:偶尔切换到网页隔一段时间,再切回到putty会发现无法使用,状态显示为inactive
,这是因为没有重复发包给服务器,导致服务器休眠.
可以修改putty,每隔一段时间(此处示例为10s,默认为0s)发给服务器一个包,让服务器不休眠。
七、踩坑
绑定密钥对之后,务必要重启一下阿里云 ECS 云服务器,否则之后进行操作连接,会报错Server refused our key。