SSHのパスワード認証よりも公開鍵認証のほうが強く推奨されているとよく言われます。ただし、以前の管理者は公開鍵に反対し、パスワードのみを発行し、サーバーごとに異なるパスワードを使用するよう注意していました(pwgenで生成されたパスワード。ブルートフォースするのはかなり困難ですが、保証ユーザー)。だから私は尋ねたいと思います:
こんな感じです…離婚して元暴力的な妻がいます。私には3人の素晴らしい男の子もいます。ほとんどの男の子のように、物忘れが多く、物事を失う可能性があり、母親も大好きです。私の家の鍵が必要になるほど少年が大きくなったとき、私は決断を下しました。鍵付きロックまたはそれらの数字キーパッドの1つを使用するのですか?私が鍵付きロックを使用した場合、私の息子が定期的に鍵を紛失することは確かでした。私は仕事から家に帰って彼らを中に入れるようにという電話を受けます。そして、「紛失した鍵」の数(または私の硝子の元妻が所有していた確率)が不快な制限に達したため、ロックを交換したり、時々鍵を再設定したりする必要が生じる可能性が高かった。
おそらく世界で最も安全ではないかもしれませんが、数字ロックのおかげで、キーが紛失する心配はありませんでした。私は息子たちがコンボを忘れてしまったときに、仕事から(帰宅せずに)テキストメッセージを送ることができました。侵害されたと感じたときに定期的に変更することができました。また、どれほど長く複雑なものにするかを決めることもできました。私の元が持っていると思った場合は、それを変更することもできます。非常にシンプルで、総所有コストが削減されます。
キー付きロックはPKのようなものです。数字によるロックはパスワードのようなものです。最後に、私はあなたに言うことができます。私は自分の運命を選択し、好きなだけ動的に行うことができるので、数値ロックの方がはるかに安全です。そして、覚えておいてください。ドアは私の家への道の1つにすぎません。
パスワード認証の場合、ユーザー覚えているパスワードであり、誰にも知られないようにする責任があります。公開鍵ベースの認証では、ユーザーはどこかに秘密鍵を持っていますファイルとして保存。
ユーザーは、実際に使用する方が便利であるため、キーベースの認証を好みます(SSHクライアントはキーを透過的に使用するため、人間のユーザーにとっては労力がかかりません)。ただし、キーベースの認証は次のことを意味します。
.ssh/authorized_keys
ファイルに公開鍵を置くことにより、鍵を管理し、どの鍵を受け入れるかを管理します。一部のシステム管理者は、ユーザーが強力なパスワードを覚えていることを信頼していないため、ユーザーがキーベースの認証を使用することを好みます。彼らは、秘密鍵ファイルのセキュリティは、強力なパスワードを生成して使用するよりも、平均的なユーザーが維持しやすいと信じています。ただし、ほとんどのシステム管理者は、秘密鍵ファイルは明白な脆弱性であると考えていますが、パスワードには軽減メカニズムがあります。つまり、パスワードが選択されたときに「パスワードルール」を適用でき、必要に応じてパスワードを集中的にブロックまたはリセットできます。これは、システム管理者がユーザーを信頼する程度(ユーザーの正直ではなく、ユーザーの能力を信頼する)と、システム管理者がどれだけコントロールを狂わせるかとのバランスです。
パスワードやsshキーの使用はここでは関係ありません。ある時点で、ユーザーはパスワードを忘れるか(たとえば、作成時にCAPS LOCKを取得したか...)、またはシステムを再インストールします(たとえば、タイムマシン/アップグレード...)。そのような状況にどう対処しますか?パスワード/キーを変更し(前のものが侵害されたと想定)、新しいものをユーザーに安全に伝える必要があります。
承認された回答 を参照してください。あなたの子供があなたの家に入ろうとしている場合。ここでの課題は、それがあなたの息子であることを最初に確認する必要があることです(たとえば、それが彼らの電話番号であることを知っている、あなたが彼らの声を認識している、それがチャレンジの部分です) 。非常に一般的なワークフローは、一時的なパスワード/ワンタイムパスワードを生成し、息子にパスワードを変更させることです。しかし、これは非常によくあることです:彼らにワンタイムパスワードを与え、彼らに彼らの新しいsshキー/ apiトークンをアップロードさせます。一体、キーパッド/キーロックが接続されている場合は、資格情報をまったく変更せず、リモートで許可することさえできません。
注:あなたをだまして家にアクセスするためにあなたの元妻があなたの息子と共謀することを妨げるものは何もありません。
これは、ユースケースと許容可能な損失によって異なります。ユーザーはパスワード、SSHキー、APIトークンの両方を所有しているため、ユーザーはそれらを共有できます。パスワード認証をサポートしていて、パスワードが漏洩した場合、一部のユーザーは外部のWebサイトでパスワードを変更する必要がある可能性があります。これは、同じパスワードを他の場所で再利用しているためです。公開鍵/秘密鍵を使用する場合、心配する必要はほとんどありません。
どちらか一方を選択する必要はありません。両方使用できます!キーロック(個人用コピー)と数字の南京錠(ゲスト)の両方を持つことができます。
パスワードはブルートフォースされる可能性があります。公開鍵を推測することは本質的に不可能であるため、完全に安全であると考えることができます。パスワードはユーザーごとに1つだけ割り当てることができますが、単一のユーザーアカウントには複数のキーをインストールできます。ラップトップを紛失した場合は、authorised_keysファイル内のラップトップのキーのエントリを削除するだけで済みます。そのアカウントは、他のデバイスから独自のキーで引き続きアクセスできます。個々のキーにコマンド制限を与えることもでき、特定のコマンドを実行するが完全なシェルではない自動接続を許可します。パスワードが有益である唯一の方法は、ログインせずに既存のアカウントへのアクセスを共有することです(新しいキーをアップロードするため)。これにより、キーが個別であるアクセスを削除する必要がある場合に、パスワードを変更する必要があるというセキュリティホールが開きます。
興味深いトピックですが、私にとって最も安全なのはパスワードです。必要なセキュリティに応じて、さまざまなものに4つの異なるパスワードを使用します。たとえば、このようなサイトでは、(mexico1970)のようなものを使用します。サイトに投稿し、クレジットカード情報や保護する必要のあるその他の重要な情報がない場合は、より重要な問題のために別のパスワードを用意します(!! carmelita.99などの電子メールの場合)、サーバーユーザー用のパスワードを用意しますアクセス(XrE.67-73up)次にルートアクセスおよび銀行関連(!!。CeRto-49er)の場合、このパスワードを書き留めないことを確認し、作成したサーバーに接続するときはいつでもメモします。 sshフィンガープリントが既知のホストにすでに追加されていることを確認してください。そうでない場合は、MITM攻撃が行われている可能性があり、銀行のTLS/SSL証明書が有効であることを確認し、パスワードを共有しないでください。
私が嫌いなのは、パスワードを設定する必要があるので書き留める必要があるサービス、または毎月異なるパスワードを使用する必要があり、最後に使用した5つのパスワードを使用できないパスワードポリシーを持つ他のサービスです。ばかげている、パスワードを書き留めるのにセキュリティがないので、パスワードの変更は良いことですが、強制されるべきではありません。一方で、証明書が失われたり、危険にさらされる傾向があります。コンピュータにアクセスできる誰かがいると思いますキーロガーをインストールすることも、証明書を取得することもできます。だからあなたを安全に保つものはありませんが、証明書は確かにそのパスワードより安全ではありません。サーバーの場合、複数のメカニズムが設定されていると安心感があります。SSHを介してサーバーに接続できるマシンからVPNにアクセスするためのVPNとしましょう。たぶんハッキングされたことはありません。
乾杯、私はパスワードなしで投稿できるサイトが好きです。