Ubuntu 16.04 LTS を SSH サーバ化

普段使っている コンソールPC に SSH で繋ぎたくなったので設定しました。
※コンソール用途なので、SSH クライアントしか入れていませんでした。

目次

SSH サーバ 導入有無確認

確認したら SSH サーバは入っていませんでした。

$ systemctl status sshd
● sshd.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

$ sudo systemctl start sshd
Failed to start sshd.service: Unit sshd.service not found.

$ dpkg -l | grep ssh
ii  libssh-4:amd64                                0.6.3-4.3                                    amd64        tiny C SSH library (OpenSSL flavor)
ii  libssh-gcrypt-4:amd64                         0.6.3-4.3                                    amd64        tiny C SSH library (gcrypt flavor)
ii  libssh2-1:amd64                               1.5.0-2ubuntu0.1                             amd64        SSH2 client-side library
ii  openssh-client                                1:7.2p2-4ubuntu2.4                           amd64        secure shell (SSH) client, for secure access to remote machines

SSH サーバ導入

  • パッケージ名を確認
    openssh-serverが当該パッケージです。
$ apt-cache search sshd
openssh-server - secure shell (SSH) server, for secure access from remote machines
fail2ban - ban hosts that cause multiple authentication errors
libconfig-model-cursesui-perl - curses interface to edit config data through Config::Model
libconfig-model-openssh-perl - configuration editor for OpenSsh
libconfig-model-tkui-perl - Tk GUI to edit config data through Config::Model
python-logsparser - Python library for log parsing, tagging and analysis.
  • openssh-server をインストール
$ sudo apt-get install openssh-server

以下のパッケージが新たにインストールされます:
  ncurses-term openssh-server openssh-sftp-server ssh-import-id
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。
  • サービス確認
    既に起動していました。
$ systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
   Active: active (running) since 土 2018-09-01 13:58:59 JST; 11s ago
 Main PID: 5222 (sshd)
   CGroup: /system.slice/ssh.service
           └─5222 /usr/sbin/sshd -D

ポート開放

  • 開いているポートを確認
    以下では、5900番(VNC用)のポートのみ開いています。
    なお、ufw は Uncomplicated Firewall (簡単に管理するファイアウォール) と呼ばれ、従来の iptables に変わって利用するフロントエンドです。
$ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
5900                       ALLOW       Anywhere                  
5900 (v6)                  ALLOW       Anywhere (v6)             
  • UFW でポートを開放する
    SSH 用に 22番ポートを開けています。
$ sudo ufw allow 22
ルールを追加しました
ルールを追加しました (v6)

$ sudo ufw reload
ファイアウォールを再読込しました

$ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
5900                       ALLOW       Anywhere                  
22                         ALLOW       Anywhere                  
5900 (v6)                  ALLOW       Anywhere (v6)             
22 (v6)                    ALLOW       Anywhere (v6)