操作步骤和vscode 配置免密连接服务器很相似,不过使用的是 pem 文件。步骤如下:
-
将 pem 文件放在
~/.ssh/
文件夹下(可选); -
配置
~/.ssh/config
,填写需要连接的主机信息:Host my_server_name # 主机名(可以随意取) User root # 登录主机的用户名 ControlMaster auto ControlPersist yes # 连接打开后后台保持的时间 IdentityFile ~/.ssh/**.pem # pem 文件的位置 Port 22 # 端口 HostName 127.0.0.1 # 所要连接的服务器的IP地址
ControlMaster作用: 成功登陆服务器后,客户端与服务器建立了一个安全的 TCP/IP 连接。用户每执行一次命令,就会有一个新的连接建立,并一直维持连接直到用户退出。如果用户有大量的连接请求,就需要建立并维持大量的 TCP/IP 连接,消耗用户和主机的资源。OpenSSH 提供一个叫做 ControlMaster 的功能,可以有效缓解这一问题。在使用 ControlMaster 后,ssh 与服务器建立一个 Master 连接,之后的所有连接都可以重用这一通道,也就是说不管有多少访问请求,都只需要维护一个 TCP/IP 连接。
-
执行如下命令
ssh-add -k ~/.ssh/**.pem
如果报如下错误:
Could not open a connection to your authentication agent.
请在执行ssh-add -k ~/.ssh/**.pem
前执行如下命令:eval `ssh-agent -s`