要通过 SSH 使用密码访问工作负载集群节点,请创建一个跳转盒虚拟机并将其连接到工作负载网络以及管理或前端网络,以实现 SSH 隧道。

创建 Linux 跳转主机虚拟机

请按照以下步骤创建 Linux 跳转盒虚拟机。有许多方法可以实现此操作。这是其中的一种方法。以下说明使用 PhotonOS,可从此处下载: https://github.com/vmware/photon/wiki/Downloading-Photon-OS
注: 这种创建跳转主机的方法适用于 vDS 网络环境。如果使用 NSX,请使用 vSphere Pod 创建跳转主机。请参见 以系统用户身份使用私钥通过 SSH 连接到 TKG 集群节点
  1. 使用 vSphere Client 登录到 vCenter Server
  2. 创建新虚拟机。
  3. 选择 Linux 客户机操作系统,在此示例中为 VMware Photon OS(64 位)。
  4. 安装操作系统。要执行此操作,请下载 ISO,将其连接到虚拟机,然后进行引导。
  5. 从“工作负载网络”>“命名空间网络”中为虚拟机配置 IP 地址。
    注: 如果工作负载网络范围的作用域消耗其使用的端口组的全部网络空间,可能会导致 IP 冲突。
  6. 将第二个虚拟网卡添加到虚拟机,并将其分配给管理网络或前端网络。
  7. 完成操作系统配置并在重新引导后打开虚拟机电源。
  8. 以 root 用户身份登录到虚拟机的 vSphere 控制台。
  9. 为新网卡创建一个网络接口,并为其提供前端网络上的 IP。
     ifconfig eth1 IP-ADDRESS netmask NETMASK up
    注: 此方法在重新引导后不持久有效。
  10. 验证是否可以通过该接口 ping 网关和 DNS 服务器
  11. 在虚拟机的 vSphere 控制台中,为 SSH 用户设置证书。通过创建嵌套 shell 验证是否起作用。
  12. 以 SSH 用户身份从前端网络通过 SSH 连接到跳转盒以验证是否正常运行。
  13. 在虚拟机上安装 sshpass(以便可以通过 SSH 使用密码登录)。对于 PhotonOS,命令如下所示:
    tdnf install -y sshpass
  14. 将客户端的公钥添加到 ~/.ssh/authorized_keys 文件,然后重新启动 sshd 进程,以便 SSH 可在没有密码的情况下正常运行。
    • 获取公钥,例如:cat ~/.ssh/id_rsa.pub
    • 访问跳转主机虚拟机。
    • 创建 SSH 目录(如果不存在):mkdir -p ~/.ssh
    • 将公钥附加到 authorized_keys 文件:echo ssh-rsa AAAA.... >> ~/.ssh/authorized_keys。将 ssh-rsa AAAA.... 替换为从 cat ~/.ssh/id_rsa.pub 命令输出的整个公钥字符串。
    • 确保 ~/.ssh 目录和 authorized_keys 文件已设置适当的权限,例如:chmod -R go= ~/.ssh