返回

手把手教你用Mac Iterm2实现SSH密钥转发,轻松访问服务器!

开发工具

使用 Iterm2 实现 SSH 密钥转发:通过跳板机安全高效地访问服务器

在当今数字化时代,我们经常需要访问远程服务器进行各种操作,例如部署代码、管理数据库和排查问题。为了提高工作效率,使用 SSH 密钥登录服务器可以避免每次都输入密码的繁琐。然而,当需要通过跳板机访问服务器时,直接使用 SSH 密钥登录会受限。SSH 密钥转发 功能应运而生,它允许我们通过跳板机将私钥转发到目标服务器,实现高效便捷的密钥登录。

SSH 密钥转发原理

SSH 密钥转发是一种将本地私钥安全地通过 SSH 连接传输到远程主机的技术。通过这种方式,我们可以使用本地的私钥对远程主机进行身份验证,而无需在远程主机上配置私钥。

SSH 密钥转发通常用于以下场景:

  • 跳板机访问: 通过跳板机访问远程服务器时,跳板机本身不持有远程服务器的私钥。
  • 服务器间访问: 从一台服务器访问另一台服务器时,两台服务器之间没有直接网络连接。
  • 防火墙限制: 当两台服务器之间存在防火墙或其他网络限制时。

Mac Iterm2 配置 SSH 密钥转发

1. 生成 SSH 密钥

首先,确保已为你的 Mac 生成 SSH 密钥。如果没有,请按照以下步骤操作:

$ ssh-keygen -t rsa -b 4096

2. 配置 Iterm2 SSH 转发

  • 打开 Iterm2,选择“Preferences”>“Profiles”。
  • 选择要配置的配置文件并单击“Edit”。
  • 在“Edit Profile”窗口中,选择“SSH”选项卡。
  • 选中“Enable SSH key forwarding”选项。
  • 在“Private key file”字段中输入私钥路径。
  • 在“Passphrase”字段中输入私钥密码。
  • 单击“OK”按钮保存设置。

3. 使用 SSH 转发连接服务器

配置好 SSH 转发后,就可以连接服务器了:

  • 使用以下命令连接跳板机:
$ ssh -i ~/.ssh/id_rsa username@jump_server_ip
  • 输入跳板机密码登录。
  • 链接跳板机后,再使用以下命令连接目标服务器:
$ ssh -A username@server_ip
  • 输入服务器密码登录。

至此,你就可以通过 SSH 密钥转发安全高效地访问目标服务器,无需每次输入服务器密码。

注意事项

  • 确保服务器支持 SSH 密钥转发功能。
  • SSH 密钥转发可能存在安全风险,建议采取适当的安全措施,如使用强密码和安全连接。

常见问题解答

问:SSH 密钥转发是否安全?

答:SSH 密钥转发本身是安全的。但如果服务器不支持此功能或未采取适当的安全措施,则可能存在安全风险。

问:SSH 密钥转发的优势有哪些?

答:

  • 无需每次输入服务器密码
  • 可以通过跳板机访问远程服务器
  • 可以从一台服务器访问另一台服务器

问:SSH 密钥转发的工作原理是什么?

答:SSH 密钥转发通过 SSH 连接将本地私钥转发到远程主机,从而使用本地私钥验证远程主机的身份。

问:如何生成 SSH 密钥?

答:在终端中运行以下命令:

$ ssh-keygen -t rsa -b 4096

问:如何在 Iterm2 中启用 SSH 转发?

答:

  • 打开 Iterm2,选择“Preferences”>“Profiles”。
  • 选择要配置的配置文件并单击“Edit”。
  • 在“Edit Profile”窗口中,选择“SSH”选项卡。
  • 选中“Enable SSH key forwarding”选项。
  • 在“Private key file”字段中输入私钥路径。
  • 在“Passphrase”字段中输入私钥密码。
  • 单击“OK”按钮保存设置。