mikysal78.ninux_common
角色 Ninux Common
这是一个用于安装和配置基本软件包和服务的角色,并进行一些自定义。 Common 主要配置:
- SSH 端口
- 用户和 SSH 密钥
- 横幅
- 配置别名和终端颜色的配置文件
要求
在 Debian 上安装 Ansible
在 /etc/apt/sources.list 文件中添加以下行,并执行命令以安装 Ansible
deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
$ sudo apt-get update
$ sudo apt-get install ansible
角色变量
- 在 defaults/main.yml 中定义以下变量:
- SSH 端口,避免使用默认端口
- IPv4 转发(在 /etc/sysctl.conf 中启用或禁用转发)
- 要添加到 sudoers 的用户
- 在 vars/main.yml 中列出将要安装的软件包
- 在 task/main.yml 中加固 sshd 的配置文件(注意,这会禁用密码认证)
示例剧本
通过 Ansible Galaxy 下载剧本
ansible-galaxy install mikysal78.ninux_common
剧本的示例(hosts 也可以设置为 common 或仅为本地,请参考你的 inventory 文件):
- hosts: all
become: "{{ sudo | default('yes') }}"
roles:
- mikysal78.ninux_common
vars:
# common
common_ipv4_forward: 1
common_ssh_port: 2400
# common 角色的变量
users:
- name: michele
authorized:
- ./keys/michele.pub
在剧本中创建一个 "keys" 目录,用于放置用户的公钥。 创建一个 hosts(inventory)文件,示例语法如下:
[common]
tux.basilicata.nnxx ansible_user=root ansible_port=22 ansible_host=10.27.22.5
[locale]
mikytux ansible_user=root ansible_connection=local
注意:根据我的习惯,在安装操作系统后,我会立即将我的公钥上传到服务器上的 root 用户。 请记住,该角色默认将 SSH 端口设置为 2400,因此如果多次运行,需要在 inventory(hosts)中进行更改。
许可证
BSD