Ubuntu クラウド バージョンはどのようにして SSH 経由で「ルート ログインなし」を強制するのでしょうか?

Ubuntu クラウド バージョンはどのようにして SSH 経由で「ルート ログインなし」を強制するのでしょうか?

ルート ログインを拒否する Ubuntu クラウド バージョンのデフォルト設定を調整したいと考えています。

このようなマシンに接続しようとすると、次の結果が出力されます。

maxim@maxim-desktop:~/workspace/integration/deployengine$ ssh [email protected]
The authenticity of host 'ec2-204-236-252-95.compute-1.amazonaws.com (204.236.252.95)' can't be established.
RSA key fingerprint is 3f:96:f4:b3:b9:4b:4f:21:5f:00:38:2a:bb:41:19:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-204-236-252-95.compute-1.amazonaws.com' (RSA) to the list of known hosts.
Please login as the ubuntu user rather than root user.

Connection to ec2-204-236-252-95.compute-1.amazonaws.com closed.

どの設定ファイルで ssh 経由のルート ブロッキングが設定されているか、また、表示されるメッセージを変更するにはどうすればよいかを知りたいです。

答え1

古い質問ですが、誰もあなたに答えてくれませんでした。私も同じ質問をしてきました。この構成はどこから来たのでしょうか?

それはクラウドイニチ、正確にcc_ssh.py/usr/lib/python2.7/dist-packages/cloudinit/config

これは、ファイルに直接依存します/etc/cloud/cloud.cfg。行が見つかりますdisable_root: true

ユーザーデータを調整して行を追加することで、これを上書きできるはずですdisable_root: false。クラウドプロバイダーは、ユーザーデータを構成可能にする必要があります。

答え2

sshd 構成に があると仮定しますPermitRootLogin yes

sudo grep "login as the ubuntu user" /root/.??*

しかし、マイク・スコットが提供したリンクは、徹底的に読んで注意を払うことを強くお勧めします。

ルートSSH

最後に、Ubuntu のセキュリティ標準を回避し、root として ssh と rsync を許可するという古い方法に戻したい場合は、次のコマンドで公式 Ubuntu イメージの新しいインスタンスを開くことができます。

ssh -i KEYPAIR.pem ubuntu@HOSTNAME 'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/' これは推奨されませんが、上記の sudo プラクティスにアップグレードするまで、既存の EC2 自動化コードを引き続き動作させる方法となる可能性があります。

SSH が有効になっている公開サーバーは、犯罪ボットネットからの root ログイン試行によって昼夜を問わず継続的に攻撃を受けるため、私は root SSH ログインを無効にしています。

他の文書では警告している

ルート アカウントを有効にする必要はほとんどありません。Ubuntu システムの管理者として実行する必要があるほとんどすべての操作は、sudo または gksudo で実行できます。永続的なルート ログインが本当に必要な場合は、次のコマンドを使用してルート ログイン シェルをシミュレートするのが最善の代替手段です...

sudo -i

答え3

答えはここにあります:http://alestic.com/2009/04/ubuntu-ec2-sudo-ssh-rsync

authorized_keys ファイルを ubuntu アカウントから root アカウントにコピーします。パスワード ログインは無効になっているため、どのアカウントにログインするにも有効な ssh キーが必要です。

答え4

/etc/ssh/sshd_config をチェックしてください。オプションは「root ログインを許可する」です。

 PermitRootLogin
         Specifies whether root can log in using ssh(1).  The argument
         must be “yes”, “without-password”, “forced-commands-only”, or
         “no”.

さらに便利な設定の 1 つは、「without -password」です。これにより、公開キー認証を使用する場合のみ、ルートでログインできます。詳細については、man sshd_config を参照してください。

関連情報