SSHはパスワードを要求しますが、パスワードなしでシリアルポートを介して接続できます。

SSHはパスワードを要求しますが、パスワードなしでシリアルポートを介して接続できます。

私はイーサネットポートを介してインターネットに接続されたGNU / Linuxを実行するarm7ボードを持っています。 SSH経由でroot@IPaddrでログインしようとしましたが、パスワードの入力を求められました。パスワードが設定されたことがないと確信しています。実際、sudoersファイルも変更されました。

ルート ALL=(ALL) NOPASSWD: ALL

しかし、それは役に立たない。シリアルポートを介して接続できますが、パスワードの入力を求められません。少し迷子になった。

root@mur0011:~# ls -la .ssh/
drwx------    2 root     root          4096 Nov  8 01:10 .
drwxr-xr-x   10 root     root          4096 Nov  8 01:10 ..
-rw-------    1 root     root          2347 Jun  1 21:20 authorized_keys
-rw-------    1 root     root          1675 May 31 23:19 id_rsa
-rw-r--r--    1 root     root           397 May 31 23:19 id_rsa.pub
-rw-r--r--    1 root     root           803 Jun  1 19:51 known_hosts
root@mur0011:~# uname -a
Linux mur0011 3.14.38-6UL_ga+ge4944a5 #1 SMP PREEMPT Wed Mar 14 16:48:19 
PDT 2018 armv7l GNU/Linux
root@mur0011:~# whoami
root

答え1

空のパスワードを許可するように設定しない限り、サーバーはsshd常にパスワードを要求します。さらに、最新のデフォルト設定は、sshdルートログインを無効にするか、ルートのみ公開鍵認証を使用できるように構成されています。

したがって、rootがsshを介してログインし、空のパスワードを許可できることを確認する必要があります。

/etc/ssh/sshd_config

PermitRootLogin yes
...
PasswordAuthentication yes
PermitEmptyPasswords yes
...

また、空のルートパスワードを設定する必要があります。これはパスワードがないこととは異なります。パスワードなしは、存在しないパスワードまたは違法なパスワードとして定義されます。どちらの場合も暗黙的ですが、入力できないパスワードが必要です。もちろん、これはroot直接ログインできないことを意味します。だからanがempty password必要なのです。

注:

これはセキュリティが非常に脆弱であるため、インターネットから直接アクセスできない信頼できるネットワーク内でのみ使用してください。

関連情報