概述本文描述使用 Centos7 系统作为登录服务器的配置。 在自动化运维的过程中,如果使用 Ansible 基于 SSH 来管理服务器,就可以将 Ansible 部署在登录服务器上,登录服务器需要可以通过 SSH 秘钥方式登录被管理的服务器。 配置过程1 使用 root 用户创建新用户 ops,并设置密码 # useradd ops # passwd ops 2 配置 sudo 权限,设置 ops 用户无密码使用 sudo # visudo 增加 ops ALL=(ALL) ALL ## Allow root to run any commands anywhere root ALL=(ALL) ALL ops ALL=(ALL) NOPASSWD:ALL 3 生成 ops 用户的秘钥 # su ops $ ssh-keygen -t dsa
4 被管理的服务器创建用户 首先在被管理的服务器中创建 ops 用户并设置密码 useradd ops passwd ops 配置 sudo # visudo 增加 ops ALL=(ALL) ALL ## Allow root to run any commands anywhere root ALL=(ALL) ALL ops ALL=(ALL) NOPASSWD:ALL 5 上传公钥 前往登录服务器,将 ops 用户的公钥复制到被管理的服务器,请将下列 IP 更换为您的被管理服务器 IP ssh-copy-id -i /home/ops/.ssh/id_dsa.pub ops@192.168.1.200 到这里,已经可以在登录服务器中使用秘钥来登录被管理的服务器,然而每次登录都需要输入私钥密码,并不方便,下边通过配置 keychain 来缓存私钥密码。 6 keychain 配置 在登录服务器中安装 keychain,Centos7 下需要使用扩展的 yum 源,安装这个源 rpm -Uvh http://packages.psychotic.ninja/7/base/x86_64/RPMS/psychotic-release-1.0.0-1.el7.psychotic.noarch.rpm 安装 keychain yum --enablerepo=psychotic install keychain 编辑 /home/ops/.bash_profile,加入如下内容 /usr/bin/keychain ~/.ssh/id_dsa source ~/.keychain/$HOSTNAME-sh > /dev/null 在登录服务器每次重新启动后,使用 ops 用户首次登入登录服务器时,会提示输出私钥密码,之后登录服务器会缓存私钥密码,在之后使用私钥时就不需要输入私钥密码了。 (责任编辑:IT) |