远程连接服务器
ascend-deployer支持通过SSH密钥认证(免密登录)和SSH密码认证两种方式远程连接其他待安装服务器,推荐用户参考以下步骤进行SSH密钥认证,SSH密码认证请根据所需安装的软件包,配置inventory_file文件中的ansible_ssh_pass字段。
- 将完成下载操作后的ascend-deployer整个工具目录上传到一台Linux服务器的用户家目录(如“$HOME”)下。如果是直接在Linux服务器上使用ascend-deployer的下载功能,请忽略此步骤。
- 密钥认证设置。
- 在管理服务器(ascend-deployer所在服务器)上执行以下命令生成SSH Key。
为安全起见,请在执行以下命令前将当前umask值改为0077(在远程登录时,建议在家目录下的.bashrc里修改umask值,并将操作命令放置在.bashrc的首行),执行完后再恢复原umask值。
ssh-keygen -t rsa -b 3072
在提示“Enter file in which to save the key”时直接回车选择默认选项即可。为了安全起见,建议在提示“Enter passphrase”时输入密钥密码(符合密码复杂度要求)。
以上为示例,请注意ssh密钥和密钥密码在使用和保管过程中的风险,特别是密钥未加密时的风险,用户应按照所在组织的安全策略进行相关配置,如口令复杂度要求、安全配置(协议、加密套件、密钥长度、是否允许使用ssh-keygen等)。
- 执行以下命令将管理服务器的公钥拷贝到其他待安装设备上。
ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<ip>
其中<user>替换为登录的账号,<ip>替换为要待安装设服务器的IP。后续在inventory_file文件中配置时,需当前步骤配置的用户名和IP保持一致。
- 验证管理服务器是否可以正常登录其他待安装设备。
ssh <user>@<ip>
其中<user>替换为登录的账号,<ip>替换为要待安装设服务器的IP。
- 退出登录。
exit
- 在管理服务器(ascend-deployer所在服务器)上执行以下命令生成SSH Key。
- 设置ssh代理管理ssh密钥,避免在ascend-deployer工具批量安装过程中输入密钥密码。设置ssh代理命令如下:
- 开启ssh-agent的bash进程。
ssh-agent bash
- 向ssh-agent添加私钥。
ssh-add ~/.ssh/id_rsa
执行如上命令会提示“Enter passphrase for /root/.ssh/id_rsa:”,此时需要输入2中设置的密钥密码。
后续批量安装过程结束后,请执行exit退出ssh-agent的bash进程,避免安全风险。
- 开启ssh-agent的bash进程。
父主题: 配置批量安装