SSH密钥对是一种安全便捷的登录认证方式。在Windows环境和支持SSH命令的环境(例如Linux环境、Windows下的MobaXterm)中,您均可以使用SSH密钥对连接Linux实例。
前提条件
-
已创建密钥对并下载.pem私钥文件。
-
实例处于运行中状态。
-
已为实例绑定密钥对。
-
已为实例分配固定公网IP或EIP。
-
已为实例所在的安全组添加安全组规则,并放行对相应端口(例如SSH协议默认的22端口)的访问。
网络类型
|
规则方向
|
授权策略
|
端口范围
|
优先级
|
授权对象
|
专有网络VPC
|
入方向
|
允许
|
SSH(22)
|
1
|
0.0.0.0/0
|
经典网络
|
公网入方向
|
在Windows环境中使用密钥对
本节以PuTTYgen为例介绍如何将私钥文件格式从.pem转换为.ppk,并以PuTTY为例介绍如何使用密钥对连接Linux实例。
-
下载并安装PuTTYgen和PuTTY。
-
将.pem私钥文件转换为.ppk私钥文件。
-
启动PuTTYgen。
本示例中的PuTTYgen版本为0.71。
-
选择Type of key to generate为RSA,然后单击Load。
-
选择All Files。
-
选择待转换的.pem私钥文件。
-
在弹出的对话框中,单击确定。
-
单击Save private key。
-
在弹出的对话框中,单击是。
-
指定.ppk私钥文件的名称,然后单击保存。
-
启动PuTTY。
-
配置用于身份验证的私钥文件。
-
选择。
-
单击Browse…。
-
选择转换好的.ppk私钥文件。
-
配置连接Linux实例所需的信息。
-
单击Session。
-
在Host Name (or IP address)中输入登录账号和实例公网IP地址。
格式为root@IP 地址,例如root@10.10.xx.xxx。
-
在Port中输入端口号22。
-
选择Connection type为SSH。
-
单击Open。
当出现以下提示时,说明您已经成功地使用SSH密钥对登录了实例。
以下示例演示如何转换私钥文件格式和使用SSH密钥连接Linux实例。
在支持SSH命令的环境中使用密钥对(通过命令配置信息)
本节介绍如何在支持SSH命令的环境(例如Linux、Windows下的MobaXterm)中通过命令配置所需信息,并通过SSH命令登录Linux实例。
-
找到.pem私钥文件在本地机上的存储路径,例如~/.ssh/ecs.pem。
此处路径和文件名称仅为示例,在后续命令中请根据实际情况修改。
-
运行以下命令修改私钥文件的属性。
chmod 400 [.pem私钥文件在本地机上的存储路径]
-
运行以下命令连接至实例。
ssh -i [.pem私钥文件在本地机上的存储路径] root@[公网IP地址]
示例如下:
ssh -i ~/.ssh/ecs.pem root@10.10.xx.xxx
在支持SSH命令的环境中使用密钥对(通过config文件配置信息)
本节介绍如何在支持SSH命令的环境(例如Linux、Windows下的MobaXterm)中通过命令配置所需信息,并通过SSH命令登录Linux实例。
-
找到.pem私钥文件在本地机上的存储路径,例如~/.ssh/ecs.pem。
此处路径和文件名称仅为示例,在后续命令中请根据实际情况修改。
-
运行以下命令修改私钥文件的属性。
chmod 400 [.pem私钥文件在本地机上的存储路径]
-
运行以下命令,进入用户主目录下的.ssh目录,并创建config文件。
-
在
config
配置文件内,按i进入编辑模式,添加如下配置项。
Host ecs HostName 121.196.**.** Port 22 User root IdentityFile ~/.ssh/ecs.pem
如果您有多台ECS实例,也可以通过
config
配置文件,统一进行免密登录的配置。配置两台ECS实例的示例内容如下:
Host ecs1 HostName 121.196.**.** Port 22 User root IdentityFile ~/.ssh/ecs.pem Host ecs2 HostName 121.196.**.** Port 22 User root IdentityFile ~/.ssh/ecs.pem
添加完成后,按Esc键,并输入:wq
保存config文件。
-
运行以下命令,重启SSH服务。
-
运行命令连接至实例。
如果您有其他问题,可以联系北京志远天成阿里云代理商,为您提供一对一专业全面的技术服务,同时新老阿里云会员,均可享受我公司代理商价格,欢迎咨询!
我有话说: