Поиск по сайту:

Простой 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

Статьи по данной тематике