创建私钥文件

在安装群集之前,管理控制台必须能够访问计划在其上安装 Vertica 的主机。MC 使用无密码 SSH 连接到这些主机,并使用私钥文件安装 Vertica 软件。

如果已经有可允许访问潜在群集中所有主机的私钥文件,则可以在群集创建向导中使用该文件。

创建私钥文件

  1. 以 root 用户或具有 sudo 权限的用户身份登录服务器。

  2. 更改至主目录。

    $ cd ~
    
  3. 创建 .ssh 目录(如果此目录尚未存在)。

    $ mkdir .ssh
    
  4. 生成无密码私钥/公钥对。

    $ ssh-keygen -q -t rsa -f ~/.ssh/vid_rsa -N ''
    

    此命令将会创建两个文件:vid_rsavid_rsa.pub。vid_rsa 文件是上传到 MC 的私钥文件,目的在于访问群集中的节点并安装 Vertica。vid_rsa.pub 文件将被复制到其他所有主机,使其可供使用 vid_rsa 文件的客户端访问。

  5. 将 .ssh 目录设为仅可供您自己读取和写入。

    $ chmod 700 /root/.ssh
    
  6. 更改至 .ssh 目录。

    $ cd ~/.ssh
    
  7. 按如下方式编辑 sshd.config,以禁用 root 的密码身份验证:

    PermitRootLogin without-password
    
  8. 将公钥连接到文件 vauthorized_keys2 中。

    $ cat vid_rsa.pub >> vauthorized_keys2
    
  9. 如果从中创建公钥的主机也将包含在群集中,则将该公钥复制到本地主机的授权密钥文件中:

    cat vid_rsa.pub >> authorized_keys
    
  10. 将 .ssh 目录中的文件设为仅可供您自己读取和写入。

    $ chmod 600 ~/.ssh/*
    
  11. 在其他节点上创建 .ssh 目录。

    $ ssh <host> "mkdir /root/.ssh"
    
  12. 将 vauthorized 密钥文件复制到其他节点。

    $ scp -r /root/.ssh/vauthorized_keys2 <host>:/root/.ssh/.
    
  13. 在每个节点上,将 vauthorized_keys2 公钥连接到 authorized_keys 文件,并将该文件设为仅可供所有者读取和写入。

    $ ssh <host> "cd /root/.ssh/;cat vauthorized_keys2 >> authorized_keys; chmod 600 /root/.ssh/authorized_keys"
    
  14. 在每个节点上移除 vauthorized_keys2 文件。

    $ ssh -i /root/.ssh/vid_rsa <host> "rm /root/.ssh/vauthorized_keys2"
    
  15. vid_rsa 文件复制到将从中访问 MC 群集安装向导的工作站。该文件是从 MC 安装群集所必需的。

下面提供了用于创建公钥并允许通过该密钥访问三个主机的命令的完整示例。这些命令将从 docg01 主机发起,并且所有主机 (docg01 - docg03) 都将包含在群集中:

ssh docg01
cd ~/.ssh
ssh-keygen -q -t rsa -f ~/.ssh/vid_rsa -N ''
cat vid_rsa.pub > vauthorized_keys2
cat vid_rsa.pub >> authorized_keys
chmod 600 ~/.ssh/*
scp -r /root/.ssh/vauthorized_keys2 docg02:/root/.ssh/.
scp -r /root/.ssh/vauthorized_keys2 docg03:/root/.ssh/.
ssh docg02 "cd /root/.ssh/;cat vauthorized_keys2 >> authorized_keys; chmod 600 /root/.ssh/authorized_keys"
ssh docg03 "cd /root/.ssh/;cat vauthorized_keys2 >> authorized_keys; chmod 600 /root/.ssh/authorized_keys"
ssh -i /root/.ssh/vid_rsa docg02 "rm /root/.ssh/vauthorized_keys2"
ssh -i /root/.ssh/vid_rsa docg03 "rm /root/.ssh/vauthorized_keys2"
rm ~/.ssh/vauthorized_keys2