web-dev-qa-db-ja.com

sshd_configのuselogin

私のsshd_configファイルを調べていたところ、次のことがわかりました。

#Uselogin no

私はそれがコメントされていることを知っていますが、その上に説明はありません、そしてそれをグーグルすると、私はこれを受け取ります:

ユーザーのログインに従来のlogin(1)サービスを使用しないでください。権限分離を使用しているため、ユーザーがログインするとすぐに、login(1)サービスが無効になります。

OR

対話型ログインセッションにlogin(1)を使用するかどうかを指定します。デフォルトは「いいえ」です。 login(1)がリモートコマンドの実行に使用されることはありません。また、これが有効になっている場合、login(1)はxauth(1)Cookieの処理方法を認識しないため、X11Forwardingは無効になります。 UsePrivilegeSeparationが指定されている場合、認証後に無効になります。

noを理解している限り、sshが「従来のログイン」を使用できないようにしますが、「従来の」ログインについては何も見つかりません。

誰かがそれが何をするのか説明できますか?

12
Atrotors

さて、ここにいくつかの履歴が必要です。当時、UNIXボックスにアクセスする主な方法はターミナルであり、シリアルラインにはログインに関与する4つのプログラムがありました。それらはinit、getty、login、およびShellでした。 initはgettyを起動し、実行を続けました。 gettyはシリアルポートを開き(そしておそらくモデム固有のことを行いました)、ログインプロンプトを表示してユーザー名が入力されるのを待ちました。ユーザー名が入力されると、ユーザー名でgetty ran loginを実行すると、ログインがパスワードの入力を求め、アカウント関連の操作を行ってからシェルを実行し、その時点でシステムを使用できました。これは、データセンター、仮想マシン、およびその他の多くの場所でまだ使用されています。

次はtelnetです。 Telnetはシリアルポートを使用しなかったため、状況が少し変更されました。 initはgettyに加えてtelnetd(またはtelnetdを開始するinetd)も開始します。telnetdはユーザー名を取得してログインを実行し、そこからすべてがほぼ同じように実行されます。

安全なシェルが登場します。セキュアシェルにより、パスワードなしでログインできるようになりました(キーを使用するか、バージョンGSSによって異なる可能性があります)。Telnetとまったく同じように、Nice機能を使用せずに、sshdに処理を任せることができます。ログインしてシェルを起動すると、あらゆる種類の優れた操作を実行できます。ログインのカスタムバージョンがない場合は、sshdにログインを処理させることをお勧めします。 (そして、もしあなたがpamを持っているなら、もはやカスタムログインをする多くの理由はありません。)

15
hildred