サーバーからrootとしてリモートSSHログインを無効にするにはどうすればよいですか?


54

セキュリティのために、SSHを介してリモートでrootとしてUbuntuサーバーに誰もログインできないようにしたい。ルートアカウントが存在することを望みますが、リモートでログインできるようにしたくないだけです。どうすればこれを達成できますか?

ご清聴ありがとうございました。

回答:


85

SSH経由でログインするつもりだったと思いますか?に次の行を追加します/etc/ssh/sshd_config

PermitRootLogin no

特定のユーザーのログインを拒否する場合は、これを構成ファイルに追加します。

DenyUsers root

これには、ブラックリスト方式を採用しています。一般的には、ホワイトリストが望ましいです。あなたの会社ができるようにする必要がある場合robadmin、ユーザーがサーバー上でログインし、以下の設定ディレクティブを使用します。

AllowUsers rob admin

構成ファイルを変更した後、次のコマンドを使用してsshサービスを再起動します。

sudo service ssh restart

マニュアルページも参照してください


14
そして実施sudo service ssh restartするために
マキシムYefremov

sshd_configファイルが表示されず、この/ etc / ssh / ssh_configが表示されます。
チンマヤB

@ChinmayaB OpenSSHサーバーをインストールしていない可能性があります。試してくださいsudo apt-get install openssh-server
-Lekensteyn

14

ファイルを編集し/etc/ssh/sshd_config、探します

PermitRootLogin

に設定しnoます。


ユーザーを追加せずにこれを行うとAllowUsers <username>、実際には誰もSSHを許可しないでしょうか?
JGlass

1
@JGlassこの答えを、追加のオプションがある上記のものと混同している可能性があります-この特定の行は、SSH経由でのログインを禁止しています。システムに他のユーザーがいて、他のすべての条件が等しい場合、DenyUsersそれらのログインもしない限り、SSHを介してログインできます。
armadadrive

@armadadrive-ああ、訂正と説明をありがとう!
-JGlass

5

デフォルト設定では、rootアカウントがロックされているため、rootとしてリモートでログインすることはできません。RSAキーを使用してrootとしてリモートでログインできないことを確認したい場合を除き、他に何もする必要はありません。もちろん、それをしたくない場合は、ルートキーを設定しないでください。


1
それは私のLinode Ubuntu 14.04マシンのデフォルトではありませんでした。PermitRootLoginに設定されyes、no AllowUsersまたはDenyUsersconfig行がありました。何かを逃していない限り、デフォルトでロックされていると想定するのは安全だとは思わない
-andrewtweber

@andrewtweber、ルートログインはssh configを介して禁止されていませんが、ルートパスワードを入力できない無効な値に設定することによりシステム全体で禁止されています。したがって、私が言ったように、パスワードではなく、RSAキーを使用してrootとしてsshすることができます。
-psusi

わかりました、その説明を回答に追加していただければ、私のダウン投票を削除することができます
-andrewtweber

@andrewtweber、それはすでに私の答えにあります
。--psusi

ルートアカウントがどのようにロックされるかについてのあなたの説明はあなたの答えにはありません。とにかく私はあなたの答えが編集されていない限り、あなたが望むのであれば先に行くと、それについて頑固なことが、downvoteを削除することはできません
andrewtweber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.