> CentOS > CentOS入门 >

Centos7 配置登录服务器

概述

本文描述使用 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
  • 秘钥位置默认在 /home/ops/.ssh/
  • 生成秘钥时输入请设置私钥密码(passphrase)

处于安全考虑,不建议生成私钥时不设置私钥密码。生成私钥密码后,每次使用私钥时,需要输入私钥密码才能使用。

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)