ConohaVPSにUbuntu環境を構築・設定する方法

ConohaVPSにUbuntu環境を構築する手順です。一般ユーザーの作成、SSH接続、rootユーザーのログイン禁止やパスワードログインの禁止などについて解説しています。

目次

ConoHa VPSでUbuntuサーバーを構築する

Conoha VPSに登録し、コントロールパネルからOSイメージのUbuntuを選択します。今回Ubuntuのバージョンは20.04とします。

OSイメージのUbuntuを選択

今回はローカルからサーバーにSSH接続するので下にスクロールしてオプションのSSH KEYからキーの新規作成。

「+追加」を押すと画像のようなポップアップがでるので秘密鍵を「ダウンロード」します。

秘密鍵を「ダウンロード」

このキーはVPSへの接続に使用するので大切に保管しましょう。

SSH Key の項目を「キーを選択」、パブリックキーを選択できていることを確認して、VPSサーバーを追加(契約)します。

VPSサーバーを追加(契約)

接続許可ポートを設定しておきましょう。

必要なのは

  • SSH (22)
  • Web (20/21/80/443)

です。

ConohaVPSのコントロールパネルから契約したVPSのページに入り、チェックを付けるだけで反映されます。

接続許可ポートを設定

VPSにSSH接続

ではダウンロードした秘密鍵を使ってVPSにSSH接続してみましょう。

ツールはTeraTermを使います。

これはConohaVPSに公式記事があるのでそちらを参照。

公開鍵認証(SSH)での接続

これでConohaVPSに構築したUbuntu環境にSSHログインできました。

Ubuntu環境にSSHログイン

VPSに接続できたらまずはUbuntuのアップデートを実行します。

$ sudo apt-get update
$ sudo apt-get upgrade

結構時間がかかります。

一般ユーザーの作成

新規にサーバー構築すると最初はスーパーユーザーである「root」アカウントしか存在しません。

rootアカウントはすべての権限を持ちあらゆる操作ができてしまうため、事故が起こりやすく普段使いには向きません。

そこで一般ユーザーを作成します。

$ sudo adduser 任意のユーザー名

実行するとそのままこのユーザーのパスワードを聞かれるので設定します。

その後下記の項目を尋ねられますが空欄で構いません。

  • Full Name
  • Room Number
  • Work Phone
  • Home Phone
  • Other

エンターキーを押して進めます。

管理者権限付与

作成したユーザーに管理者権限付与を付与します。

gpasswd -a ユーザー名 sudo

これでこのユーザーで sudo コマンドが実行できるようになりました。

よほどのことがない限りrootユーザーでのログインはしませんが、一般ユーザーで管理者権限が必要な操作を行う場合はこの sudo コマンドで実行します。

一般ユーザー用のSSHキーの生成

一般ユーザーでSSH接続できるようにしましょう。

まずは一般ユーザー用のSSHキーを作成します。

TeraTerm に SSH キーを作る機能があるのでこれを利用します。

TeraTermを起動し接続画面で「キャンセル」をクリック。

TeraTermを起動し接続画面で「キャンセル」

「設定」の「SSH鍵生成」をクリックします。

SSH鍵生成

鍵の種類で「RSA」を選択、ビット数を「2048」にして「生成」をクリック。

「RSA」を選択、ビット数を「2048」にして「生成」

必要に応じて鍵のパスフレーズを入力し、「公開鍵の保存」「秘密鍵の保存」をクリック。

一般ユーザー用の公開鍵の設置

パスワードログインの許可

SSH ログインを行うためには一般ユーザの公開鍵をサーバーにアップする必要があり、そのためには一般ユーザでパスワードでログインしなければなりません。

しかし現状ではパスワードによるログインができない設定になっているため、まずはルートユーザーでログインし、設定を変更して一般ユーザがパスワードでログインできるように設定します。

いったんrootユーザーでVPSにログインして下記のコマンドを実行します。

vi /etc/ssh/sshd_config

Viエディタで sshd_config ファイルを開くコマンドです。

Viエディタの使い方についてはとりあえず下記を覚えておけばなんとかなります。

  • 編集モードに入る:i
  • コマンドモードに入る:escキー
  • 保存して終了:コマンドモードで:wq
  • 保存せずに終了:コマンドモードで:q!
PasswordAuthentication yes

に変更します。

sshd_config の編集内容を反映するためにはsshdをリロードする必要があります。

systemctl reload sshd

これでパスワードログインができるようになりました。

一般ユーザー用の公開鍵の設置

では改めてTeraTermで、今度は一般ユーザーでパスワードログインします。

一般ユーザーでパスワードログイン

先ほどTeraTermで作成した「公開鍵」をTeraTermの画面にドラッグ & ドロップします。

ファイル転送を行いますか?という画面が表示されるので

公開鍵のアップロード

「SCP」をクリック。

そのままユーザーのホームディレクトリに「.ssh」というディレクトリ作成し、パーミッションを「700」に設定します。

mkdir .ssh
chmod 700 .ssh

ホームディレクトリに設置した公開鍵を「.ssh」へコピーし「authorized_keys」へファイル名を変更し、パーミッションを「600」へ変更します。

mv id_rsa.pub .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

ホームディレクトリに設置した公開鍵は不要となるので削除します。

rm -f id_rsa.pub

これで先ほど作成した一般ユーザーでSSH接続ができるようになりました。

TeraTermで一度ログアウトし、SSHログインができるかどうか確認しておきましょう。

ログイン禁止設定

一般ユーザーでSSHログインができるようになったので、rootユーザーでのログインとパスワードログインを禁止しておきましょう。

再度ssh_configを編集します。

rootユーザーでログインするか、一般ユーザーでログインした状態からsuコマンドを使ってrootユーザーに切り替えます。

下記のコマンドを実行してsshd_configを開きます。

vi /etc/ssh/sshd_config

iキーでインサートモードに入り編集します。

root ログインの禁止設定

PermitRootLogin no

パスワードログインの禁止設定

PasswordAuthentication no

escキーでコマンドモードに戻り、:wq で保存して終了。

sshd のリロード

sshd_config の編集内容を反映するためにsshdをリロードします。

systemctl reload sshd

これでrootユーザーでのログインとパスワードログインを禁止できました。

TeraTermでrootログインとパスワードログインができなくなっていることを確認しておきましょう。

スーパーユーザーの権限が必要になったとき

rootでのログインができなくなりました。

今後スーパーユーザーの権限が必要になった時は

  • sudoグループに追加されているユーザーでsudoコマンドを使用する
  • sudoグループに追加されているユーザーでsuコマンドを使用してrootユーザーに切り替える
  • sudoグループに追加されているユーザーでsshd_configを編集してrootログインを許可する
  • ConohaVPSのコンソールからログインする

という手段があります。

このエントリーをはてなブックマークに追加

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。