この記事では、クライアント端末(PC) からサーバへのパスワード認証によるssh接続の設定します。
基本的にサーバにはPCからsshでリモートアクセスしますが、デフォルト設定のままですと、セキュリティが少し低いため、設定変更をする必要があります。
なお、linuxにおけるsshの設定は基本的に共通していますが、今回はArchLinuxにおけるsshの設定になります。
OpenSSHのインストール #
サーバにて以下のコマンドでOpenSSHをインストールします。
sudo pacman -S openssh
sshdデーモンの設定 #
/etc/ssh/sshd_config
を編集して、sshデーモンの設定を行います。
特定ユーザのみアクセス許可 #
特定のユーザーにのみアクセスを許可するために、以下の行を追加します。
AllowUsers 【許可したいユーザ名】
rootアカウントでのsshログイン無効 #
rootアカウントでのsshログインを無効にするために、PermitRootLogin
行のコメントを外して以下のように変更します。
PermitRootLogin no
ポート番号の変更 #
sshのデフォルトポート番号は22番ですが、このポート番号は一般的に知られているため、不正侵入のリスクが高まります。そのため、ポート番号をランダムな番号(ここでは、50134)に変更します。Port行のコメントを外して以下のように変更します。
Port 50134
sshdデーモンの起動と有効化 #
以下のコマンドで sshd デーモンを起動します。
sudo systemctl start sshd.service
さらに、以下のコマンドで sshd デーモンを起動時に有効します。
sudo systemctl enable sshd.service
PCからsshによるサーバアクセス確認 #
PCから以下のコマンドを実行して、sshでログインできることを確認します。
ssh -p 30514 【ユーザ名】@【サーバのIPアドレス】
終わりに #
今回はパスワード認証によってssh接続をしました。今回の設定である程度セキュリティを高めることができました。
ですが、さらにセキュリティを高めるための方法として、パスワード認証ではなく、公開鍵認証によるssh接続があります。公開鍵認証によるssh接続についてはsshの鍵認証設定でまとめていますので、ぜひ読んでみてください。