通过Config配置文件使用密钥对连接远程Linux服务器

本文介绍如何在支持SSH命令的环境(例如Linux、MacOS、Windows下的MobaXterm)中通过命令配置所需信息,并通过SSH命令登录Linux实例。

1、找到.pem私钥文件在本地机上的存储路径,例如~/.ssh/privateKey.pem。

2、运行以下命令修改私钥文件的属性。

chmod 400 ~/.ssh/privateKey.pem
注意:私钥文件权限过大时,尝试登录会提示
Permissions 0644 for '~/.ssh/privateKey.pem' are too open.
It is required that your private key files are NOT accessible by others.

3、运行以下命令,进入用户主目录下的.ssh目录,并创建config文件。

cd ~/.ssh
vim config

4、在config配置文件内,按i进入编辑模式,添加如下配置项。配置多台ECS实例的示例内容如下:

# 输入ECS实例的别名,用户SSH远程连接。
Host ecs1
# 输入ECS实例的公网IP地址。
HostName 121.196.**.**
# 输入端口号,默认为22。
Port 22
# 输入登录账号。
User ecs-user
# 输入.pem私钥文件在本机的地址。
IdentityFile ~/.ssh/ecs.pem

# 输入ECS实例的别名,用户SSH远程连接。
Host ecs2
# 输入ECS实例的公网IP地址。
HostName 121.196.**.**
# 输入端口号,默认为22。
Port 22
# 输入登录账号。
User ecs-user
# 输入.pem私钥文件在本机的地址。
IdentityFile ~/.ssh/ecs.pem

5、运行以下命令,重启SSH服务。(MacOS下不用重启)

service sshd restart

6、运行命令连接至实例。

ssh ecs1
# or
ssh ecs2s

参考

  1. 阿里云-使用第三方客户端通过密钥认证登录Linux实例