Windows下Putty使用ssh**对远程连接阿里云服务器

背景

之前一直使用用户名+密码的方式远程登录阿里云服务器。经过一段时间,发现这种方式有如下缺点:

  • 比较繁琐,每次都需要输入密码,
  • 不安全,密码有可能被暴力**,阿里云经常提醒服务器有安全漏洞。

Windows下Putty使用ssh**对远程连接阿里云服务器
so,现在采取比较安全且便捷的SSH**对方式进行登录,在配置过程中,也踩了个大坑,所以记录一下,希望对需要的朋友提供一些帮助。

**对

创建**对

1、登录阿里云,选择左侧产品与服务–>云服务器ECS–>网络与安全–>**对,点击右上角创建**对,创建**。
Windows下Putty使用ssh**对远程连接阿里云服务器
2、创建**,名称随意,类型选择“自动创建**对”,点击确定,生成**对,注意此处必须要将私钥下载至本地,后续用于**配对。
注:如果使用的是chrome内核的浏览器,浏览器会自动下载私钥。

Windows下Putty使用ssh**对远程连接阿里云服务器

绑定**对至服务器实例

创建**后,返回**管理页面,点击绑定**对,进入如下界面:Windows下Putty使用ssh**对远程连接阿里云服务器

点击左侧实例名称,将其添加到右侧列表,确定。
这样就成功将**对绑定到了服务器实例。

配置安全组规则

若不配置安全组规则,则无法使用SSH**对进行远程登录,所以此处对服务器安全组进行设置:
1、进入安全组:
Windows下Putty使用ssh**对远程连接阿里云服务器
2、在安全组入方向,开放SSH(22)端口,授权对象为0.0.0.0
Windows下Putty使用ssh**对远程连接阿里云服务器

生成PUTTY格式的私钥

因为此处使用Putty进行远程登录,而阿里云服务器生成的私钥格式为pem,所以需要使用puttygen.exe将其格式修改为Putty可识别的**格式ppk
步骤如下:
1、进入Putty安装目录,运行puttygen.exe。
Windows下Putty使用ssh**对远程连接阿里云服务器
此处将阿里云私钥导入,注意此处导入格式选择ALL FILESWindows下Putty使用ssh**对远程连接阿里云服务器

Windows下Putty使用ssh**对远程连接阿里云服务器

单击 Save private key。PuTTYgen 会显示一条关于在没有口令的情况下保存**的警告,单击 是(Y)。指定与**对相同的私钥名称,保存。PuTTY 会自动为文件添加 .ppk 扩展名。
Windows下Putty使用ssh**对远程连接阿里云服务器

可以看到生成了ppk格式的**。
Windows下Putty使用ssh**对远程连接阿里云服务器

Putty使用**对远程登录服务器

进入Putty页面,选择SSH->Auth,导入ppk格式的**。
Windows下Putty使用ssh**对远程连接阿里云服务器
导入之后,返回主页面,点击Session。
在 Host Name (or IP address) 里输入需要连接的实例公网IP 地址,
在 Port 里输入端口号 22
Connection type 选择SSH

至此大功告成?不,连接之后会输出消息Server refused our key
这个地方我在网上搜索了很久,各种解决办法层出不穷,最后发现需要重启云服务器实例,重启之后即可通过SSH**连接。
Windows下Putty使用ssh**对远程连接阿里云服务器

配置Putty长时连接

笔者初使用Putty时,经常遇到这种情况:偶尔切换到网页隔一段时间,再切回到putty会发现无法使用,状态显示为inactive,这是因为没有重复发包给服务器,导致服务器休眠.
可以修改putty,每隔一段时间(此处示例为10s,默认为0s)发给服务器一个包,让服务器不休眠。
Windows下Putty使用ssh**对远程连接阿里云服务器

踩坑

绑定**对之后,务必要重启一下阿里云 ECS 云服务器,否则之后进行操作连接,会报错Server refused our key。