Banana Pi で OMV : SSH管理設定

昨日の記事(Banana Pi で OpenMediaVault)では「セットアップ 〜 フォルダ共有」までを扱いました。

今日は、運用面で欠かせない SSH の設定について触れたいと思います。
以下、OpenMediaVault を OMV と略記します。

目次

セキュリティ強化

昨日の記事で root による SSH 接続は有効になっていますが、一般ユーザで SSH 接続を行うようにすることでヒューマンエラー防止にも役立ちます。

root ユーザでの SSH 接続拒否

  • root 接続の変更方法
    1. Webコンソールに接続
    2. [サービス]項目の[SSH]を選択
    3. [rootアカウントでのログインを許可]欄を"OFF"にする

一般ユーザでの SSH 接続許可

SSH 接続用ユーザ追加

一般ユーザ作成

  • ユーザ追加 & パスワード設定
# useradd -m {username}
# passwd {username}
  • オプション
    引数 内容
    -m,
    --create-home
    ホームディレクトリを作成
    -M,
    --no-create-home
    ユーザのホームディレクトリを作成しない

なお、ホームディレクトリを作成しないとログイン時に以下のようなメッセージが表示されます。
作業には支障ありませんが、明確な理由がなければ作成しておいたほうが無難でしょう。

Last login: Tue Jun 26 07:18:01 2018 from 192.168.2.202
Could not chdir to home directory /home/{username}: No such file or directory

設定ファイル確認

デフォルトで「root, ssh」が許可グループ(AllowGroups)に設定されていることを確認できます。
今回は、SSHグループに作成したユーザを追加することにしました。

# cat /etc/ssh/sshd_config 
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
StrictModes yes
PubkeyAuthentication yes
IgnoreRhosts yes
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
AllowGroups root ssh
AddressFamily any
Port 22
PermitRootLogin yes
AllowTcpForwarding no
Compression no
PasswordAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 /var/lib/openmediavault/ssh/authorized_keys/%u
PubkeyAuthentication yes

SSH グループにユーザ追加

# usermod -aG ssh {username}
  • オプション
    引数 内容
    -a,
    --append
    "-G"で指定したグループをセカンダリグループに追加
    -G,
    --groups
    セカンダリーグループを変更 (aと併用しないと上書き)
確認
# groups {username}
{username} : {username} ssh

以上で、SSHで接続できるようになります。

一般ユーザに sudo 権限付与

sudo 権限がないと、root権限が必要な際に不便なので、必要に応じて設定します。

設定の際は、visudo コマンドを使用して設定ファイル「/etc/sudoers」を編集します。

なお、権限を付与しないと sudo の際、以下のようなメッセージが表示されます。

$ sudo apt update

{username} は sudoers ファイル内にありません。この事象は記録・報告されます。

nano エディタ 基本操作

visudo コマンドを実行すると、OMV で標準エディタに設定されている nano でファイルが開きます。
vi とは操作方法がだいぶ異なるので、(自分用に)記載しておきます。

Function key 説明 組み合わせ
F1 help Ctrl + g
F2 exit Ctrl + x
F3 write Ctrl +o
F6 検索 Ctrl + w
F7 前ページヘ Ctrl + y
F8 次ページヘ Ctrl + v
F9 行カット Ctrl + k
F10 ペースト Ctrl + u

編集内容

当該ユーザを追記するだけです。

# diff -u sudoers_org /etc/sudoers
--- sudoers_org 2018-06-25 07:27:43.904200121 +0000
+++ /etc/sudoers    2018-06-25 07:34:18.470972723 +0000
@@ -18,6 +18,7 @@

 # User privilege specification
 root   ALL=(ALL:ALL) ALL
+{username} ALL=(ALL:ALL) ALL

 # Allow members of group sudo to execute any command
 %sudo  ALL=(ALL:ALL) ALL

以上で、SSH 接続 & sudo もできるようになります。