Windows下Putty使用ssh**对远程连接阿里云服务器
背景
之前一直使用用户名+密码
的方式远程登录阿里云服务器。经过一段时间,发现这种方式有如下缺点:
- 比较繁琐,每次都需要输入密码,
- 不安全,密码有可能被暴力**,阿里云经常提醒服务器有安全漏洞。
so,现在采取比较安全且便捷的SSH**对方式进行登录,在配置过程中,也踩了个大坑,所以记录一下,希望对需要的朋友提供一些帮助。
**对
创建**对
1、登录阿里云,选择左侧产品与服务
–>云服务器ECS
–>网络与安全
–>**对
,点击右上角创建**对,创建**。
2、创建**,名称随意,类型选择“自动创建**对”,点击确定,生成**对,注意此处必须要将私钥下载至本地
,后续用于**配对。
注:如果使用的是chrome内核的浏览器,浏览器会自动下载私钥。
绑定**对至服务器实例
创建**后,返回**管理页面,点击绑定**对,进入如下界面:
点击左侧实例名称,将其添加到右侧列表,确定。
这样就成功将**对绑定到了服务器实例。
配置安全组规则
若不配置安全组规则,则无法使用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。