LoginSignup
9

More than 3 years have passed since last update.

Ubuntu18.04 LST のサーバー設定

Posted at

環境

Ubuntu 18.04 LTS

openssh-server のインストール

Ubuntu 18.04 LTS では ssh クライアントはデフォルトでインストールされている。(下記のコマンドで確認可能。)

$ dpkg -l | grep ssh

ssh サーバーをインストールする。

$ sudo apt-get install openssh-server
$ dpkg -l | grep ssh # インストール完了の確認
$ ps -ax | grep ssh # サーバーが動作しているか確認

ポートの開放

Ubuntu18.04 LTS ではすべてのポートがデフォルトで閉じられているため、ufw (Uncomplicated FireWall) コマンドで使用するポートを開放する。
※下記では22番ポートを開放するが、セキュリティ上は他の番号に変更しておくのが無難。

$ sudo ufw enable # ファイアウォールの有効化
$ sudo ufw status # 現状で開放されているポートの確認
$ sudo ufw allow 22 # 22番ポートを開放
$ sudo ufw reload
$ sudo ufw status # 22番が開放されたことを確認

ssh デーモンの設定

ssh 接続で使用するポート番号を上記の ufw コマンドで開放したポート番号に変更する。

$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old # configファイルのバックアップ
$ sudo vi /etc/ssh/sshd_config

# ファイル内の下記の部分の番号を変更する
...
#Port 22
...

$ service sshd restart # sshデーモンを再起動

IPアドレスの固定

Ubuntu 18.04 LTS ではネットワーク設定は /etc/network/interfaces ではなく、 /etc/netplan/ 下に yaml ファイルとして記述する。自分の環境ではデフォルトで下記のようになっていた。

01-network-manager-all.yaml
network:
  version: 2
  renderer: NetworkManager

これを下記のように変更。

01-network-manager-all.yaml
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp3s0:
      addresses: [192.168.3.8/24, '2400:2411:c0a3:6f00:14ff:54b:28e3:1ed7/64']
      gateway4: 192.168.3.255
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

記述内容の詳しい意味については以下の公式 reference および kome さんの解説記事等を参照。

下記を実行して設定内容を反映。(実行すると /etc/netplan/ 以下のすべての yaml ファイルが読み込まれる。)

$ sudo netplan apply

ssh の鍵の設定

ローカル PC で暗号鍵を生成。

$ ssh-keygen -t rsa # rsa 方式で暗号化鍵を生成

生成した公開鍵の情報を何かしらの方法でリモート PC に送信し、authorized_keys に登録。

cat id_rsa.pub >> /home/{your_username}/.ssh/authorized_keys

これで ssh 接続は可能だが毎回鍵の場所を指定するのは面倒なので、リモート PC の .ssh/config ファイルに下記の情報を記載。

.ssh/config
Host {host}
HostName {your_hostname}
User {username_of_remote_PC}
Port 22
IdentityFile {path_to_secret_key}

これで、ssh {host} で接続が可能。接続できない場合は下記のリンクのあたりなどを確認。

-EC2のSSH接続でPermission denied(publickey)と出た時の対処法

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
9