Простой BASH-скрипт для установки сервера Ubuntu после установки
Сегодня я наткнулся на простой BASH-скрипт под названием "Ubuntu-server-setup", который помогает автоматизировать настройку и предоставление сервера Ubuntu после новой установки. Этот скрипт сделает следующее:
- Добавляет новую учетную запись пользователя с доступом sudo.
- Добавляет открытый ssh-ключ для новой учетной записи пользователя.
- Отключает аутентификацию по паролю на сервере.
- Запретить root-вход на сервер
- Настройка простого брандмауэра (UFW)
- Создать файл подкачки на основе установленной памяти компьютера.
- Настройте часовой пояс для сервера (значение по умолчанию — «Азия/Сингапур». Вы можете указать свой часовой пояс)
- Установить протокол сетевого времени
В этом кратком руководстве мы увидим, как запустить этот скрипт на сервере Ubuntu 16.04 LTS. Это может работать и на других версиях Ubuntu.
Ubuntu-server-setup — скрипт после установки сервера Ubuntu
Прежде чем использовать этот скрипт, вам необходимо создать открытый ssh-ключ в вашей клиентской системе. Это понадобится вам при запуске скрипта.
Чтобы создать публичный ssh-ключ, запустите:
ssh-keygen -t rsa
Введите парольную фразу дважды.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sk/.ssh/id_rsa):
Created directory '/home/sk/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/sk/.ssh/id_rsa.
Your public key has been saved in /home/sk/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:JFEf6UJEHVmuU/wO1zFUeXyE5oxhLCBfJOKB4yoX9mI sk@ubuntuserver
The key's randomart image is:
+---[RSA 2048]----+
| .=+*+=*. ==|
| o. *.+=++ +.+|
| . .o.o..o+* oo|
| o . o. .o..o.o|
| . + S.o . o .|
|. E . . + |
| + . . |
| |
| |
+----[SHA256]-----+
Чтобы просмотреть вновь созданный открытый ключ SSH, откройте новое окно терминала и запустите:
cat ~/.ssh/id_rsa.pub
Скопируйте открытый ключ ssh и сохраните его. Вам придется ввести этот ключ позже.
Теперь войдите на свой сервер Ubuntu. Установите 'git' с помощью команд:
sudo apt-get update
sudo apt-get install git
Затем возьмите сценарий установки Ubuntu-сервера с помощью команды:
git clone https://github.com/jasonheecs/ubuntu-server-setup.git
Приведенная выше команда клонирует последнюю версию в папку «ubuntu-server-setup» в вашем текущем рабочем каталоге.
Перейдите в каталог установки Ubuntu-сервера и запустите сценарий, как показано ниже.
cd ubuntu-server-setup/
bash setup.sh
Теперь вам придется ответить на ряд вопросов. Ответьте соответственно. Сначала введите новое имя пользователя:
Enter the username of the new user account:ostechnix
Enter new UNIX password:
Retype new UNIX password:
Adding user `ostechnix' ...
Adding new group `ostechnix' (1001) ...
Adding new user `ostechnix' (1001) with group `ostechnix' ...
Creating home directory `/home/ostechnix' ...
Copying files from `/etc/skel' ...
Changing the user information for ostechnix
Enter the new value, or press ENTER for the default
Full Name []: Senthilkumar
Room Number []: 123
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Скопируйте/вставьте публичный ключ ssh, который мы создали на предыдущем шаге.
Paste in the public SSH key for the new user:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDg2S1/s3ZB/O/KBVT6OP0JEQKPQ3QjTOaWhAjFN9CJrb2IVYGx0P8SA52d81tw0UJXByXkPpxvGwXYbWukV6bF/mdm8kj+e+BxEYlq2sXbFdwW+lW0GwTYMq2tIRQ1Iec6QFLGNSi0QjLcIhG/JTg5TrmK9KyECCHRFQfR7cDWRXo2tBtMkDxdJdH/D4BdmO//rvSFgY4QiqjwmkKqgpLrK5ZvvfgjKWtO0+1D+hfrm+cTNGByWHvOAj3j5HyXB6dzNaKswCQygzkvESzXI6eyMWYW3+QNz2PBHbof+HVHSd9av7aC8IO31aUMsyvrTcSB3wHk0NpmrDfqLRvOspNb sk@ubuntuserver
Running setup script...
Введите свой часовой пояс сейчас:
Enter the timezone for the server (Default is 'Asia/Singapore'):
Asia/Kolkata
Timezone is set to Asia/Kolkata
Installing Network Time Protocol...
Setup Done! Log file is located at output.lo
Обратите внимание, что вы не можете подключиться по SSH к серверу Ubuntu ни с какими другими пользователями, кроме того (то есть ostechnix в нашем случае), которого вы только что создали. Потому что этот скрипт отключит ssh-аутентификацию на основе пароля для всех пользователей, включая root. Кроме того, вы можете подключиться по ssh к серверу Ubuntu только из клиентской системы, где вы создали открытый ssh-ключ и поделились им с удаленной системой. Если вы хотите использовать SSH из других систем, открытый ключ SSH следует вручную загрузить на удаленный сервер, на который вы хотите иметь возможность войти с помощью SSH.
С этого момента вам будет предложено ввести парольную фразу, которую вы создали в клиентской системе, каждый раз, когда вы пытаетесь подключиться к своему серверу по SSH, как показано ниже.
ssh ostechnix@192.168.1.105
Введите парольную фразу для ключа:
Enter passphrase for key '/home/sk/.ssh/id_rsa':
Вот и все. Скрипт Ubuntu-server-setup только что завершил основные задачи после установки. Начните установку других вещей, которые вы хотите запустить на сервере.
Ресурс:
- Скрипт настройки сервера Ubuntu на GitHub