346 слов
2 минуты
Настройка VPS на примере Ubuntu
Смена оболочки
Если стандартная оболочка shell, можно поменять её на bash с помощью команды
chsh -s /bin/bashПользователь и доступ по SSH
- Создаём нового пользователя
sudo adduser newuser- Даём возможность новому пользователю использовать sudo
sudo usermod -aG sudo newuser- Создаём скрытую директорию .ssh
sudo mkdir /home/newuser/.ssh- Добавляем свой публичный ключ с помощью которого будем получать доступ к серверу без пароля
echo публичный_ключ >> /home/newuser/.ssh/authorized_keys- Выдаём права на директорию .ssh только что созданному пользователю
sudo chown -R newuser:newuser /home/newuser/.ssh- Теперь можно отключиться и подключиться к серверу от имени нового пользователя
exit
ssh newuser@vps_ip- Если в системе остались ненужные пользователи их можно удалить
sudo deluser ubuntu- И удалить его домашний каталог
sudo rm -rf /home/ubuntuНастройки сервера SSH
- Открываем файл конфига ssh
sudo nano /etc/ssh/sshd_config- В основном конфиге может присутствовать импорт дополнительных параметров из других файлов. При необходимости удаляем строку, чтобы избежать конфликта настроек. Либо можно удалить дополнительные конфиги, которые были созданы провайдером.
Include /etc/ssh/sshd_config.d/*.conf- Запретить подключаться к серверу из под root
PermitRootLogin no- Разрешить подключение с публичным ключом
PubkeyAuthentication yesWARNING
- Этот шаг запретит вход с помощью пароля, проверьте правильность введённого выше ключа
PasswordAuthentication no
- Перезапускаем демон ssh
sudo systemctl reload sshDocker и Docker Compose
- Удаляем старые версии
sudo apt remove docker docker-engine docker.io containerd runc- Обновляем систему и устанавливаем зависимости
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release- Добавляем официальный репозиторий Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg- Добавляем репозиторий в apt
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null- Устанавливаем Docker Engine, CLI и Compose plugin
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin- Проверяем версию:
docker --version
docker compose version- Добавляем текущего пользователя в группу docker для запуска без sudo
sudo usermod -aG docker $USER
newgrp dockerZSH
- Установка ZSH
sudo apt install zsh -y- Делаем ZSH оболочкой по умолчанию
chsh -s $(which zsh)Homebrew
- Установка
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- Добавляем первую строку в настройки zsh
sed -i '1ieval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' ~/.zshrcOh My Posh
- Установка
curl -s https://ohmyposh.dev/install.sh | bash -s- Добавляем вторую строку в настройки zsh. Тема оформления
sed -i '2ieval eval "$(oh-my-posh init zsh --config "amro")"' ~/.zshrcNeofetch

Neofetch это инструмент для получения информации о системе. Я буду использовать его для красивой заставки после подключения по SSH
- Установка
sudo apt install neofetch -y- Создаём файл в папке motd
sudo nano /etc/update-motd.d/99-neofetch- Внутри пишем
#!/bin/bash
neofetch- Делаем файл исполняемым
sudo chmod +x /etc/update-motd.d/99-neofetchНастройка VPS на примере Ubuntu
https://guilliman.ru/posts/vps_setup/