サイトアイコン ayame.space

Ubuntu 20.04 VPS 初期設定

ずいぶん昔にCentOS 7ベースのVPS設定(さくらVPSセキュリティ設定)記事を書きましたが、
CentOSではなくUbuntuを使うようになっていて、Docker等を使って管理するようになったので、最近している基本的なサーバー立ち上げ方法をまとめておきます。

ホスト名がremoteになっているのがリモートサーバーで行う処理、localhostになってるのがローカルマシンで行う処理です。
[]で囲われている部分は実際の値に置き換えてください。

目次

OS & SSH 初期設定・セキュリティ設定

SSHで接続


ssh root@[ホスト名]

SSHで接続


ssh root@[ホスト名]

一般ユーザを追加


adduser [ユーザー名]

※CentOSではuseraddコマンドを使って新規ユーザーを作りましたが、Ubuntuではadduserコマンドを使います。useraddだとホームディレクトリが作成されないので注意

sudoに所属させる


usermod -aG sudo [ユーザー名]

※CentOSではwheelグループに所属させることでsudoできるようになりましたが、Ubuntuではsudoグループに所属させるとsudoできるようになります。

SSHの設定


vim /etc/ssh/sshd_config

rootログインを禁止


PermitRootLogin yes
↓
PermitRootLogin no

システムアップデート


apt update
apt upgrade

一般ユーザーでSSH接続


ssh [ユーザー名]@[ホスト名]

SSHに公開鍵認証設定

ローカルで暗号鍵作成


ssh-keygen -t rsa
//Enter file in which to save the key: [暗号鍵ファイルを置く場所]

SCPでサーバーへ転送


scp [暗号鍵ファイルを置いた場所] [ユーザー名]@[ホスト名]:~/id_rsa.pub

サーバーで暗号鍵設定


cd ~/
mkdir .ssh
chmod 700 .ssh
cat id_rsa.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
rm -f id_rsa.pub

ローカルでSSHの設定ファイル作成


vim ~/.ssh/config

Host [設定名]
  HostName        [サーバーのホスト名]
  IdentityFile    ~/.ssh/[鍵のファイル名]
  User            [ユーザー名]

これで


ssh [設定名]

でssh接続できる

公開鍵認証でSSH接続


ssh [設定名]

SSHの設定


sudo vim /etc/ssh/sshd_config

パスワードでのログインを禁止


PasswordAuthentication yes
↓
PasswordAuthentication no

visudoのエディタをvimに変更


sudo update-alternatives --set editor /usr/bin/vim.basic

sudoをパスワードなしで使用できるように


sudo visudo -f /etc/sudoers.d/[ユーザー名]

[ユーザー名] ALL=(ALL) NOPASSWD:ALL

Docker環境の構築

必要なパッケージのインストール


sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release

リポジトリの追加


curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker Engineのインストール


sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

dockerに所属させる


sudo usermod -aG docker [ユーザー名]

Docker Composeのインストール


sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

dockerに所属させる


sudo usermod -aG docker [ユーザー名]

参考

OS&SSH設定

Docker構築

モバイルバージョンを終了