EC2でDebian Stretchを実行するマシンを設定しました。 rootでsshを試みると、次のメッセージが表示されます。
$ ssh -i "mykey" root@machine
Please login as the user "admin" rather than the user "root".
^C
Connection to machine closed.
注^C
– コマンドは終了しません。
何の問題もなくログインできますadmin
。なぜ完了しました。わかりません。どのように、しかし。
私の最初の本能は貝殻でした。
admin@machine:~$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
いいえ。万が一に備えてnologinを確認しました。
admin@machine:~$ /usr/sbin/nologin This account is currently not available.
他のメッセージ。
ログイン時にシステムにメッセージを印刷させるメカニズムは何ですか?
答え1
admin@machine:~$ sudo su
root@machine:# cat /root/.ssh/authorized_keys
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo
'Please login as the user \"admin\" rather than the user
\"root\".';echo;sleep 10" ssh-rsa ...
これが説明します。これは、認証キー形式のカスタムコマンドを介して行われます。 AUTHORIZED_KEYS FILE FORMATセクションをご覧ください。SSHDマニュアルもっと学ぶ。
コメントで指摘したように、その理由sleep
はPuTTYユーザーにメッセージを読む時間を与える可能性が最も高いです。
答え2
以下で説明する構成は、root ユーザーのログインを拒否します。
vim /etc/ssh/sshd_config
ルートログインを許可しない
ユーザー[ユーザー名]を許可