ntmemo のメモ

個人的な趣味のメモです。

Raspbian Stretch Lite の ssh サーバー設定

はじめに

ssh サーバーの設定を行います。

今回の ssh サーバーはポート番号を 55555 を用います。 ssh サーバーを公開するには、ファイアウォールの設定より、ssh 用のポートを開放しておく必要があります。

ファイアウォールの設定は ntmemo.hatenablog.com を参考にしてください。

ssh サーバーの設定

ラズパイには ssh サーバーはデフォルトでインストールされています。

ssh サーバーを設定には

$ vim /etc/ssh/sshd_config

を編集してください。

最低限の設定すべき項目は

  1. ポート番号
  2. 公開鍵認証
  3. パスワードによるログイン
  4. root ログイン
  5. ssh でログインできるユーザ

です。

1. ポート番号
Port 55555

のように変更してください。

2. 公開鍵認証

公開鍵認証を許可にするには

PubkeyAuthentication yes

としてください。

3. パスワードによるログイン

公開鍵認証を設定している場合は、パスワードによるログインを拒否するのが良いです。 公開鍵をサーバー側に設置した後

PasswordAuthentication no

としてください。 公開鍵をサーバーに設置するまでは、パスワードによるログインは許可しておきましょう。

4. root ログイン

ネットワーク越しの直接の root ログインはセキュリティの観点から拒否すべきです。

PermitRootLogin no

とすれば拒否できます。

5. ssh でログインできるユーザ

ssh でログインできるユーザを制限することもできます。

AllowUsers ntmemo

sshd_config の最終行に追加してください。

これらの設定を適用するには

$ systemctl restart ssh

としてください。

接続待ちの tcpudp ポートは

$ ss -antu

とすれば表示されます。 LISTEN は 55555 のみとなっているはずです。

クライアントで

$ ssh -p 55555 ntmemo@raspi

としてログインできれば ok です。 ntmemo は今回ログインするユーザです。 また、raspi は ip アドレスです。 raspi 部分はラズパイに割り当てられている ip アドレスです。

ip アドレスはサーバー側で

$ ip addr

とすれば確認できます。

公開鍵認証の設定

パスワードを使った認証を行うより、公開鍵認証の方が安全です。 サーバー側で

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh

として

$ vim authorized_keys

に公開鍵を追加し保存しましょう。

おわりに

今回はラズパイサーバーにおける sshサーバーの設定と公開鍵認証の設定を行いました。

これでラズパイサーバーの設定は終了です。