sshd_configファイルで「パスワードなし」とはどういう意味ですか?


118

サーバーにUbuntu 14.04をインストールしたばかりで、sshd_configファイルでこれに遭遇したときにすべての設定ファイルを設定していました。

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

これは私をとても心配させました。誰かがパスワードなしでrootとしてサーバーにログインできる可能性があると思いました。

次の方法でルートとしてサーバーに接続してみました:

johns-mbp:~ john$ ssh root@192.168.1.48
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
root@192.168.1.48's password:  

私は空のパスワードを入力しましたが、それは私を入れませんでした、それは安心でした。だから私の質問は次のとおりです:パスワードなしで何が意味するのか、そしてこれがUbuntu 14.04のデフォルトである理由

回答:


142

マンページから:

PermitRootLogin

rootがssh(1)を使用してログインできるかどうかを指定します。引数は、「yes」、「without-password」、「forced-commands-only」、または「no」でなければなりません。デフォルトは「yes」です。

このオプションが「パスワードなし」に設定されている場合、ルートのパスワード認証は無効になります。

このオプションが「forced-commands-only」に設定されcommandている場合、公開鍵認証によるルートログインは許可されますが、オプションが指定されている場合のみです (通常、ルートログインが許可されていない場合でもリモートバックアップを取る場合に便利です) 。他のすべての認証方法は、ルートに対して無効になっています。

このオプションが「no」に設定されている場合、rootはログインできません。

したがってwithout-password、公開鍵認証でのみルートログインが許可されます。これは、シェルスクリプトと自動化されたタスクでよく使用されます。


2
パスワードを使用した「ルートログイン」許可しないことは、許可するよりも強力なセキュリティと見なされますただし、他の方法(sudoなど)が機能しない場合を除き、rootログインしないでください。
david6

5
ご覧のとおり、manページではデフォルトが「yes」であることが示されていますが、Ubuntuはデフォルトで「パスワードなし」を作成しています。
鉄輪14年

36
つまり、without-passwordパスワード以外のすべての方法が許可されるということですか?本当に「パスワードを必要とせずにログインできる」ように聞こえます。
ゴーティエ

1
「すべてのルートアクセスは、一意で識別可能なユーザーIDを使用したローカルログオンと、ローカルで認証された後のsuコマンドを介して促進される必要があります。-CIS IBM AIXガイド
ドミニクアンタル14

22
PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'.
エンドリス

16

実際、PAM認証を使用している場合、この設定はほとんど何もしません。sshd_config構成ファイルの下部にあります:

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

Ubuntuのデフォルト設定では、PAM認証を使用します。

UsePAM yes

1
私の簡単な経験では、これを設定しても実際にnoは機能しませんPermitRootLogin without-password!:(
cregox

1
あなたは典型的なデスクトップシステムを使用している場合@cregox、あなたが行う必要がありssh-copy-id -i ~/.ssh/id_rsa.pub user@ip、それが作成されます~/.ssh/authorized_keysあなたが/root/.ssh/でこのファイルを作成しないでしょうrootでログインできない場合は心の中で取るが、それはあなたがコピーした場合に動作しますそこにファイル
ルトラス

3

ルート経由でログインする正当な理由があることに注意してください(ただし、暗号化キーを使用し、パスワードは使用しません)。典型的な例は、2台のサーバーをリモートで同期することです(そのうちの1台をフェイルオーバーとして使用します)。構造は同一でなければならないため、多くの場合、ルートパスワードが必要です。

同期にユニゾンを使用する例を次に示します。https : //serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison


2
通常のユーザー(ほとんどの場合、暗号化キーを使用)でログインし、sudoグループに属していると、これも可能になりませんか?
NSデュToit

2

sshdの新しいバージョンでは、「パスワードなし」が「パスワード禁止」に変更されました。

どちらのバージョンも機能します。おそらく、可能であれば「禁止パスワード」を使用するのが最善です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.