本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

安装后任务

您可以通过在安装完成后执行以下步骤来增强您的SUSE Virtualization集群的安全性和性能。

禁用 SSH 密码认证

默认情况下,在安装期间,SUSE Virtualization节点上启用了 SSH 密码认证。这允许管理员访问节点进行安装后的诊断。

然而,一旦安装完成,建议禁用 SSH 密码认证。您可以运行以下命令,该命令使用`kubectl`来应用 CloudInit配置,从而禁用所有SUSE Virtualization节点上的 SSH 密码认证:

cat <<EOF | kubectl apply -f -
apiVersion: node.harvesterhci.io/v1beta1
kind: CloudInit
metadata:
  name: ssh-config
spec:
  matchSelector:
    harvesterhci.io/managed: "true" # apply to all nodes
  filename: 99-ssh-config
  contents: |
    stages:
      network:
      - name: "disable password login"
        commands:
        - sed -i -E 's/^#?PasswordAuthentication .*/PasswordAuthentication no/' /etc/ssh/sshd_config
        - sed -i -E 's/^#?ChallengeResponseAuthentication .*/ChallengeResponseAuthentication no/' /etc/ssh/sshd_config
        - sed -i -E 's/^#?UsePAM .*/UsePAM no/' /etc/ssh/sshd_config
        - systemctl restart sshd
  paused: false
EOF
  • `matchSelector`字段用于选择具有特定标签的SUSE Virtualization节点。

  • 所有受影响的节点必须重启,以使`CloudInit`配置生效。

一旦配置应用,任何尝试使用 SSH 密码访问SUSE Virtualization节点的行为都将被拒绝。

$ ssh -o PreferredAuthentications=password rancher@<node-ip>
rancher@<node-ip>: Permission denied (publickey,keyboard-interactive).