SSH-パスワードを使用してまだログインしているユーザーを特定する


32

SSHのパスワード認証を許可しているUbuntu Linuxサーバーがあり、SSHキーのみに切り替えてパスワードログインを無効にしたい。

パスワードログインを無効にする前に、まだパスワードを使用しているユーザーと、キー認証に切り替えたユーザーを確認するにはどうすればよいですか?


ところで、多くの人はそれを知りませんが、キーサーバーサイドのパスワードを要求することもできます。もう少し面倒、もちろんのあなたがそれを行う場合より...、あまりにも確保
deviantfan

34
予告なしにパスワードログインを無効にし、何人が悲鳴を上げるかを確認します。
マーク


@deviantfan単純に長いkeyfileを要求する方が安全ですが、それには少しのスクリプトが必要になります。
jpaugh

1
@deviantfanおっしゃるとおりです。ただし、秘密鍵のパスワードはサーバーのパスワードとは異なると仮定しています。(一方、秘密鍵ファイルはパスワードが設定されていると思います。)
jpaugh

回答:


48

100%確実にそれを行うことはできませんが、2つの強力な兆候があります。

  • まず、.ssh/authorized_keysファイルの存在は、ユーザーが少なくともキーベースのログインを使用する準備ができているというヒントです
  • 次に、認証ログファイル(/var/log/secureCentOS、/var/log/auth.logDebian / Ubuntu)に、authメソッドが記録されます:

    Sep 28 13:44:28 hostname sshd[12084]: Accepted publickey for sven
    

    Sep 28 13:47:36 hostname sshd[12698]: Accepted password for sven
    

    ログに記載されているパスワードのエントリをスキャンして、まだパスワードを使用しているユーザーを確認します。これは、ログの保持期間が非常に長い場合を除き、ログインするユーザーがほとんどいない場合はもちろん機能しません。


ログファイルを「スキャン」することで、grepを使用するなどの賢明なオプションを意味すると思いますか?grep 'password' /var/log/ssh/sshd.log
djsmiley2k-CoW

8
@ djsmiley2k:はい、正確に。または、そのタスクに適した他の方法。
スヴェン

最初の方法は700、ユーザーの.sshディレクトリのアクセス許可やマウントされたホームディレクトリのルートスカッシュなどの適切なセキュリティ慣行によって妨害されていませんか?
オーガ詩sal 33

1
@ OgrePsalm33:NFS サーバーでこの検索を実行できます ...
スベン

1
@R ..:NFSv4とKerberosを使用して、NFSを合理的に保護できます(この場合、キーベースのログインが複雑になります)。それ以外:はい、ルートスカッシュNFSホームディレクトリに~/.ssh設定されている場合、キーベースのログインは問題なく機能する700ため、少なくともキーベースの認証を読み取るには、ユーザーIDを切り替える必要がありますauthorized_keys
スヴェン

19

最速の方法は、それを無効にし、誰があなたのオフィスのドアをノックするかを見ることです; p


6
彼らは瞬時に結果を与えるように、ログが明らかに、誰かがログインしたときに表示することができながら、いないすべてのユーザーが、毎日ログインする可能性があるので、これは、最速の方法ではありません
Ferrybig

3
これが最も遅い方法です。ユーザーは、アプリケーションがダウンしている場合にのみサーバーにログインします。それが起こるには何年もかかるかもしれません。
ナビン

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