ご存知かもしれませんが、 SSH (セキュアシェル )は、コンピュータにリモートで安全にアクセスするためのネットワークプロトコルです。 Linuxのサーバーとクライアントソフトウェアは、SSHサーバーとして知られています。 およびSSHクライアント それぞれ、多くの実装があります。
デフォルトでは、 SSH ユーザーのパスワードを持っている限り、コンピューターの任意のユーザーにログインできます。ただし、これには、パスワードベースの認証を使用するソフトウェアが直面するのと同じ問題があります。攻撃者が悪用して管理者アクセスを取得するように誘うことです。
今日は、特定のユーザー、さらに重要なことに、rootユーザーへのSSHログインを無効にする方法を説明します。
ユーザーへのSSHアクセスを無効にする
SSHを使用してシステムにログインできます 次の構文を使用して、任意のユーザーで:
$ ssh tempuser@localhost

現在、SSHアクセスはすべてのユーザーに対して私のマシンで許可されています。ここで、「 tempuser」という特定のユーザーへのアクセスを拒否しましょう。 ‘。
ファイル‘ / etc / ssh / sshd_configを開きます ’任意のテキストエディタで。
$ sudo vim /etc/ssh/sshd_config
ファイルの最後に次の行を追加します。
DenyUsers tempuser
重要 :「タブ」があります ‘ DenyUsersの間 ‘および‘ tempuser ‘スペースではありません。スペースを追加すると、ディレクティブは認識されません。

ファイルを保存して終了します。
次のコマンドでSSHサーバーを再起動します。
$ sudo systemctl restart ssh
SystemDがないシステムを使用している場合 、実行:
$ sudo service ssh restart
次に、ユーザー「 tempuser」を使用してローカルホストにログインしてみます ’SSHを使用します。 「許可が拒否されました」というエラーが表示されるはずです ’、以下に表示されているように:
$ ssh tempuser@localhost

SSHルートアクセスを無効にする
上記と同じ方法で、rootユーザーへのログインを無効にすることができます。ただし、完全なrootアクセスを無効にするには、つまり、すべてのrootユーザーへのアクセスを無効にするには、以下の手順に従います。
ファイル「/etc / ssh / sshd_config」を開きます 任意のテキストエディタで「」を選択し、「 PermitRootLogin」という文字列を検索します ’。行のコメントを解除し、他の値がある場合は、値を「いいえ」に設定します ’。
PermitRootLogin no

ファイルを保存して終了します。次のコマンドでSSHを再起動します:
$ sudo systemctl restart ssh
または、 SystemDがない場合 :
$ sudo service ssh restart
次に、ユーザー「 root」を使用してローカルホストにログインしてみます ’。また、「 Permission Denied」というエラーも表示されます ’。
$ ssh root@localhost

結論
この記事では、特定のユーザーへのSSHログインアクセスを無効にする方法を学びました。 root以外のユーザーへのアクセスを制限することは個々のシナリオによって異なりますが、rootへのアクセスは常に制限する必要があります。
リモートルートアクセスが必要な場合は、パスワード認証よりも安全なRSA認証を使用してSSHを設定する必要があります。 SSHのマニュアルページを読む(‘ man ssh ’)詳細については。
読んでいただきありがとうございます。下のコメントセクションでご意見をお聞かせください。