ルートアカウントを使用してssh root@localhost
でlocalhostにsshする必要があります。パスワードの入力を求められたら、すべての可能なパスワードでログインすることはできません。 localhostマシンの設定では、通常ユーザーxxx
とrootユーザーは同じパスワード(Sudo -s
で機能するパスワード)を共有しますが、ssh root@localhost
では機能しません。したがって、ssh root@localhost
のパスワードの参照先
PS:パスワードがあれば、ssh xxx@localhost
で通常のアカウントにログインできます。
PPS:そうする動機に関するさらなる質問に答えるために、localhost
はプライベートネットワーク内の単なるコンピューターであり、ssh root@localhost
のセットアップはプロトタイプシステムでの手動管理を緩和するためのものです。
ssh root@localhost
は、rootに同じパスワードを使用します。ルートパスワードを設定していないようです。これを行うには、Sudo -s
を使用してrootとしてログインし、passwd
コマンドを使用してrootパスワードを設定します。
その後、rootとしてsshできる必要があります
通常のユーザーとしてログインし、Sudo -i
を使用してルートシェルにドロップします。
ルートアカウントを使用したり、問題のパスワードを変更したりしないでください。
ルートアカウントを使用する場合。
Sshがインターネットに公開されている場合、rootでsshを介してログインする機能を無効にします。代わりに、ユーザーとしてログインし、su
でルートにログインします。
これにより、コンピューターに対するブルートフォース攻撃を防ぐことができます。ユーザーとパスワードの両方を推測するのは難しいので。ユーザー名を知っていると、パスワードをブルートフォースするだけで済みます。
行を変更する:
PermitRootLogin yes
/etc/ssh/sshd_config
の下
に
PermitRootLogin no
そして実行:
service sshd restart
設定をリロードします。
ユーザーrootは有効になっておらず、ログインを実行できません。これを実行すると次のことがわかります。
Sudo grep root /etc/shadow
通常、暗号化されたパスワードを含むフィールドには、!
が入力されます。
shadow(5)manpage を読むと、これが得られます
パスワードフィールドに、たとえばcrypt(3)の有効な結果ではない文字列が含まれている場合、!または*、ユーザーはUNIXパスワードを使用してログインできません(ただし、ユーザーは他の方法でシステムにログインできます)。
セキュリティ上の理由から、ユーザーrootを有効にしないでください。
次のコマンドを使用してルートパスワードを設定します
Sudo passwd