🗂

初心者がConohaVPSサーバーで開発環境を作る手順1。(ubuntu)

2023/04/24に公開

はじめに

  • あとから忘れないようにするためのメモ。
  • 手元のPCはwindows10から作業。
  • 本番環境用のドメインとは別に、開発環境用のドメインを取得済み。

01.初回ログイン(rootでログイン)からユーザー作成

Conohaの管理画面から「コンソール」を立ち上げてrootでログイン

システムアップデート

まずはアップデート。

Conohaの管理画面の「コンソール」にて
$ sudo apt update
$ sudo apt upgrade

一般ユーザー作成

Conohaの管理画面の「コンソール」にて
# ユーザーを作成
$ adduser nakamura
(パスワードの設定)

# sudo 権限を追加
$ gpasswd -a nakamura sudo

# sudoが追加されたか確認
$ groups nakamura
(nakamuraが追加されているグループが表示される)

一般ユーザーログイン確認

WindowsPowerShell(パソコン)にて
PS C:\Users\nakamura> ssh nakamura@XXX.XXX.XX.XX
(パスワード聞かれてログインできたらok)

このままWindowsPowerShellから作業を続けます。
安全&楽に使えるように、公開鍵認証でログインできるようにします。

公開鍵認証だと何が安全なの?

一般的に、サーバーへのログインにはパスワードが必要です。しかし、パスワードを入力する際に、人に盗み見られたり、パソコンにインストールされているアプリケーション(ウイルスソフト含め)によって、入力内容筒抜けになったり、どこかに転送され盗まれる可能性があります。このような問題を回避するために、公開鍵認証という方法が使われます。
入力内容を盗み見るツールを「キーロガー」とよんだりします。

パスワード入力を使わないため、キーロガーなどの盗み見による攻撃を回避できます。また、公開鍵認証を使うことで、ログイン時に毎回パスワードを入力する必要がなくなります。
つまり、セキュリティ面だけでなく、使い勝手も向上します。

公開鍵認証でログインできるようになったら、一般的な「パスワード入力でのログイン」を禁止し、サーバーにログインする際には必ず「公開鍵認証」とすることでさらにセキュリティの向上ができます。

02.安全に使うための設定

ポートを変更して安全にする

22 -> 22222

公開鍵認証でログインできるように変更する

公開鍵認証のイメージ
  1. パソコン上で鍵穴をセットで生成しておく。
  2. 鍵穴をサーバー内の守衛室に置いておく。
  3. は、自分のパソコン内の鍵保管庫に置いておく。
  4. サーバーへログインする際、守衛さんに「はこれです」と伝える(見せる)。
  5. 守衛さんは、守衛室にある鍵穴と照合して、OKなら通してくれる。

まず、サーバー上に守衛室(.sshフォルダ)を作ります。
サーバー内の自分の部屋(/home/nakamura/)に守衛室を作るので、すでに自分の部屋に守衛室がないか確認します。

VPSサーバー
$ cd /home/nakamura/ # 自分の部屋に移動
$ ls -la # 現在の場所のファイル一覧を表示
$ mkdir .ssh # .sshフォルダがなければ作成する(既にあったら不要。)

次に、鍵穴をセット作ります。これらを作る作業は、自分のPC上で行います。

ローカルPCにて
# 鍵・鍵穴を作るコマンドを使うと、今いるディレクトリに作ってしまうので、
# 先に作りたいディレクトリに移動しておきます。

$ cd c:\Users\nakamura\
$ mkdir .ssh # 鍵保管庫を作ります。(守衛室と鍵保管庫が同じ名前でややこしいですね)
$ cd .ssh # 鍵保管庫の中に入ります。

# 移動した先で鍵を作成します
$ ssh-keygen -t rsa -f CONOHA_KAGI
# 鍵の名称をCONOHA_KAGIにしていますが任意で変更してください

CONOHA_KAGI    秘密鍵(クライアント用)
CONOHA_KAGI.pub  公開鍵(サーバー用)

鍵穴のセットができ上がったら、鍵穴をサーバーに転送します。

ローカルPCにて
# 先ほど鍵・鍵穴を作成したフォルダに移動しておく
$ cd c:\Users\nakamura\.ssh

# コマンドでローカルからサーバーへファイルをコピーする
$ scp -P 22222 CONOHA_KAGI.pub nakamura@xxx.xxx.xxx.xxx:/home/nakamura/.ssh
サーバー
# 作業ユーザーのホームディレクトリ下で作業
$ cd /home/gonbe/
$ cd .ssh

# 以下ファイルを作成する
$ touch authorized_keys

# クライアント側からリモートコピーしたファイルを認証用の鍵として追記する
$ cat .ssh/conoha_key.pub >> .ssh/authorized_keys

# 鍵を設置したディレクトリ及び認証用ファイルのパーミッションを変更する
$ chmod 600 /home/gonbe/.ssh/authorized_keys

# 鍵を設置したディレクトリ及び認証用ファイルの所有者を変更する
$ chmod -R go= ~/.ssh
$ chown -R nakamura:nakamura ~/.ssh

これで、鍵穴関連の準備は完了です。
次は、公開鍵認証(鍵穴)でログインできるように設定を変更します。デフォルトではパスワードログインが許可されており、公開鍵認証は禁止されている設定になっているはず。

公開鍵認証ができないうちにパスワード認証を禁止してしまうと面倒なので、ひとまず「公開鍵認証の許可」のみ行います。

サーバー
# sshの設定ファイルを開き、以下設定を変更する
$ sudo nano /etc/ssh/sshd_config

PubkeyAuthentication yes

AuthorizedKeyFile .ssh/authorized_keys

ssh サービスの再起動

サーバー
$ sudo service ssh restart

これで許可されたはずです。試しに公開鍵認証でログインしてみましょう。

公開鍵認証でログインする設定をパソコン側に施します。

ウィンドウず
$ cd c:\Users\nakamura\.ssh\

config 作成

そのほか初期のタイミングでやっておいた方が良い設定

hostname の設定

$ sudo hostnamectl set-hostname <hostname>

Ubuntu環境を日本語化

英語力の無さによりストレスを抱えたくないので、真っ先に日本語言語パックをインストールします。

$ apt install language-pack-ja-base language-pack-ja
$ update-locale LANG=ja_JP.UTF8

ロケールの変更できたか確認

確認コマンド
$ locale -a
出力
C
C.UTF-8
en_US.utf8 
ja_JP.utf8 # 追加されているようです。
POSIX
確認コマンド
$ echo $LANG
出力
en_US.utf8

現状はまだ「en_US.utf8」でok。

再起動して設定が有効になったか確認

確認コマンド
$ reboot

※再起動が完了したら再度rootでログインしてください。

確認コマンド
$ echo $LANG
出力
ja_JP.utf8

良さげ。

Discussion