SSH密钥对是一种安全便捷的登录认证方式。在Windows环境和支持SSH命令的环境(例如Linux环境、Windows下的MobaXterm)中,您均可以使用SSH密钥对连接Linux实例。
前提条件
背景信息
根据本地设备不同的环境,您可以通过不同的方式使用密钥远程连接Linux实例:
在Windows环境中使用密钥对
本节以PuTTYgen为例介绍如何将私钥文件格式从.pem转换为.ppk,并以PuTTY为例介绍如何使用密钥对连接Linux实例。
- 下载并安装PuTTYgen和PuTTY。
- 将.pem私钥文件转换为.ppk私钥文件。
- 启动PuTTY。
- 配置用于身份验证的私钥文件。
- 选择 。
- 在Private key file for authentication:区域,单击Browse…。
- 选择转换好的.ppk私钥文件。
- 配置连接Linux实例所需的信息。
- 单击Open。当出现以下提示时,说明您已经成功地使用SSH密钥对登录了实例。
在支持SSH命令的环境中使用密钥对(通过命令配置信息)
本节介绍如何在支持SSH命令的环境(例如Linux、Windows下的MobaXterm)中通过命令配置所需信息,并通过SSH命令登录Linux实例。
- 找到.pem私钥文件在本地机上的存储路径,例如~/.ssh/ecs.pem。 此处路径和文件名称仅为示例,在后续命令中请根据实际情况修改。
- 运行以下命令修改私钥文件的属性。
chmod 400 [.pem私钥文件在本地机上的存储路径]
示例如下:chmod 400 ~/.ssh/ecs.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私钥文件在本地机上的存储路径]
示例如下:chmod 400 ~/.ssh/ecs.pem
- 运行以下命令,进入用户主目录下的.ssh目录,并创建config文件。
cd ~/.ssh vim config
- 在
config
配置文件内,按i进入编辑模式,添加如下配置项。# 输入ECS实例的别名,用户SSH远程连接。 Host ecs # 输入ECS实例的公网IP地址。 HostName 121.196.**.** # 输入端口号,默认为22。 Port 22 # 输入登录账号。 User root # 输入.pem私钥文件在本机的地址。 IdentityFile ~/.ssh/ecs.pem
如果您有多台ECS实例,也可以通过config
配置文件,统一进行免密登录的配置。配置两台ECS实例的示例内容如下:# 输入ECS实例的别名,用户SSH远程连接。 Host ecs1 # 输入ECS实例的公网IP地址。 HostName 121.196.**.** # 输入端口号,默认为22。 Port 22 # 输入登录账号。 User root # 输入.pem私钥文件在本机的地址。 IdentityFile ~/.ssh/ecs.pem # 输入ECS实例的别名,用户SSH远程连接。 Host ecs2 # 输入ECS实例的公网IP地址。 HostName 121.196.**.** # 输入端口号,默认为22。 Port 22 # 输入登录账号。 User root # 输入.pem私钥文件在本机的地址。 IdentityFile ~/.ssh/ecs.pem
添加完成后,按Esc键,并输入
:wq
保存config文件。 - 运行以下命令,重启SSH服务。
service sshd restart
- 运行命令连接至实例。
ssh [ECS实例的别名]
示例如下:ssh ecs