本文描述使用 Centos7 系统作为登录服务器的配置。
在自动化运维的过程中,如果使用 Ansible 基于 SSH 来管理服务器,就可以将 Ansible 部署在登录服务器上,登录服务器需要可以通过 SSH 秘钥方式登录被管理的服务器。
配置过程
1 使用 root 用户创建新用户 ops,并设置密码
2 配置 sudo 权限,设置 ops 用户无密码使用 sudo
增加 ops ALL=(ALL) ALL
3 生成 ops 用户的秘钥
/home/ops/.ssh/处于安全考虑,不建议生成私钥时不设置私钥密码。生成私钥密码后,每次使用私钥时,需要输入私钥密码才能使用。
4 被管理的服务器创建用户
首先在被管理的服务器中创建 ops 用户并设置密码
配置 sudo
增加 ops ALL=(ALL) ALL
5 上传公钥
前往登录服务器,将 ops 用户的公钥复制到被管理的服务器,请将下列 IP 更换为您的被管理服务器 IP
到这里,已经可以在登录服务器中使用秘钥来登录被管理的服务器,然而每次登录都需要输入私钥密码,并不方便,下边通过配置 keychain 来缓存私钥密码。
6 keychain 配置
在登录服务器中安装 keychain,Centos7 下需要使用扩展的 yum 源,安装这个源
安装 keychain
编辑 /home/ops/.bash_profile,加入如下内容
在登录服务器每次重新启动后,使用 ops 用户首次登入登录服务器时,会提示输出私钥密码,之后登录服务器会缓存私钥密码,在之后使用私钥时就不需要输入私钥密码了。