ubuntu-server-setupA setup script for Ubuntu servers

联合创作 · 2023-09-30 05:23

Bash setup script for Ubuntu servers


Build Status


This is a setup script to automate the setup and provisioning of Ubuntu servers. It does the following:



  • Adds a new user account with sudo access

  • Adds a public ssh key for the new user account

  • Disables password authentication to the server

  • Deny root login to the server

  • Setup Uncomplicated Firewall

  • Create Swap file based on machine's installed memory

  • Setup the timezone for the server (Default to "Asia/Singapore")

  • Install Network Time Protocol


Installation


SSH into your server and install git if it is not installed:



sudo apt-get update
sudo apt-get install git


Clone this repository into your home directory:



cd ~
git clone https://github.com/jasonheecs/ubuntu-server-setup.git


Run the setup script



cd ubuntu-server-setup
bash setup.sh


Setup prompts


When the setup script is run, you will be prompted to enter the username of the new user account.


Following that, you will then be prompted to add a public ssh key (which should be from your local machine) for the new account. To generate an ssh key from your local machine:



ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub


Finally, you will be prompted to specify a timezone for the server. It will be set to 'Asia/Singapore' if you do not specify a value.


Supported versions


This setup script has been tested against Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.


Running tests


Tests are run against a set of Vagrant VMs. To run the tests, run the following in the project's directory:
./tests/tests.sh

浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报