如何自动化新的 linux 服务器的初始设置?

Com*_*nts 5 automation security ubuntu configuration-management

每次设置新服务器时,我都会在每台服务器上执行一系列步骤以获取更新、设置密码、通过 root 用户删除登录、自定义熟悉的环境 (bashrc) 并保护服务器。

是否可以使用脚本来完成所有这些工作?设置可能包括:

  1. 发行版升级和更新

    apt-get 更新

    apt-get 升级

  2. 添加用户

    添加用户部署者

    adduser 部署者 sudo

    mkdir /home/deployer/.ssh

    chmod 700 /home/deployer/.ssh

    触摸 /home/deployer/.ssh/authorization_keys

    部署者密码

    su 部署者

    cd 到 /home/deployer/.ssh/

    须藤 chown 部署者 .ssh/

  3. 在本地机器上执行命令:

    ssh-copy-id root@hostname.com

    ssh-copy-id deployer@hostname.com

  4. 重新登录服务器:

    chmod 400 /home/deployer/.ssh/authorized_keys

    chown 部署者:部署者 /home/deployer -R

5..6...7.. 自定义bashrc,编辑sshd_config,安装ufw & logwatch

Tim*_*ham 6

使用 Kickstart 或等效流程来管理构建。使用像 Puppet 这样的配置管理产品来部署您的设置。

您还可以使用一点脚本魔法在构建结束时启动配置管理,使其成为无缝体验。

我的脚本设置了一个静态 IP,配置 OSSEC 并执行几次 puppet 运行以整理所有依赖项,然后运行 ​​yum 更新(我主要是 CentOS 用户)。

可以拼凑其他方法来获得相同的结果,但我发现这是我使用过的最灵活的方法。

  • 补鞋匠所有的东西! (2认同)