Tools前書きSSH(セキュアシェル)は、サーバーの管理と通信に使用される暗号化されたプロトコルです。Debianサーバーを使用する場合、SSHを介してサーバーに接続されたターミナルセッションでほとんどの時間を過ごす可能性があります。10をインストールするためのSSHキーのセットアップに焦点を当てます。SSHキーは、サーバーへの簡単で安全なログイン方法を提供し、すべてのユーザーに推奨されます。最初のステップは、クライアントマシン(通常はコンピューター)でキーペアを作成することです。`は2048ビットのRSAキーペアを作成します。+`フラグを渡して、より大きな4096ビットキーを作成できます)。コマンドを入力すると、次の出力が表示されます。+`サブディレクトリに保存するか、代替パスを指定します。以前にSSHキーペアを生成していた場合、次のプロンプトが表示される場合があります。(y/n)?その後、次のプロンプトが表示されます。passphrase):ここでは、オプションで安全なパスフレーズを入力できますが、これを強くお勧めします。パスフレーズは、セキュリティのレイヤーを追加して、権限のないユーザーがログインするのを防ぎます。[SSHの設定方法]のチュートリアルを参照してください。Linuxサーバーでのキーベース認証]。次の出力が表示されます。|+-----------------+これで、認証に使用できる公開鍵と秘密鍵ができました。次のステップは、SSHキーベースの認証を使用してログインできるように、サーバーに公開キーを配置することです。`というユーティリティを使用することです。単純であるため、この方法は可能であれば強くお勧めします。+`がない場合、このセクションで提供される2つの代替方法のいずれかを使用できます(パスワードベースのSSHによるコピー、またはキーの手動コピー)。+`ツールはデフォルトで多くのオペレーティングシステムに含まれているため、ローカルシステムで使用できる場合があります。この方法が機能するには、サーバーへのパスワードベースのSSHアクセスが既に必要です。このユーティリティを使用するには、接続するリモートホストと、パスワードSSHアクセスのあるユーザーアカウントを指定するだけです。これは、公開SSHキーのコピー先のアカウントです。構文は次のとおりです。@次のメッセージが表示される場合があります。(yes/no)?これは、ローカルコンピューターがリモートホストを認識しないことを意味します。これは、新しいホストに初めて接続したときに発生します。ENTER`を押して続行します。キーが見つかると、リモートユーザーのアカウントのパスワードの入力を求められます。ユーティリティは、指定したパスワードを使用してリモートホストのアカウントに接続します。+`というファイルにコピーします。次のような出力が表示されるはずです。+`キーはリモートアカウントにアップロードされています。+`が利用できないが、サーバー上のアカウントへのパスワードベースのSSHアクセスがある場合、従来のSSH方式を使用してキーをアップロードできます。+」コマンドを使用してローカルコンピューター上の公開SSHキーの内容を読み取り、それをリモートサーバーへのSSH接続を介してパイプします。+`ディレクトリが存在し、使用しているアカウントの下で正しい権限を持っていることを確認できます。」というファイルに出力できます。+」リダイレクトシンボルを使用してコンテンツを追加します。これにより、以前に追加したキーを破棄せずにキーを追加できます。完全なコマンドは次のようになります。~/.ssh/authorized_keys"次のメッセージが表示される場合があります。(yes/no)?これは、ローカルコンピューターがリモートホストを認識しないことを意味します。これは、新しいホストに初めて接続したときに発生します。ENTER`を押して続行します。その後、リモートユーザーアカウントのパスワードを入力するように求められます。+`ファイルの最後にコピーされます。[ステップ3]これが成功した場合。公開キーを手動でコピーするサーバーへのパスワードベースのSSHアクセスが利用できない場合は、上記のプロセスを手動で完了する必要があります。+`ファイルに手動で追加します。+`キーのコンテンツを表示するには、これをローカルコンピューターに入力します。~/.ssh/id_rsa.pubキーのコンテンツが表示され、次のようになります。protected]使用可能な方法を使用して、リモートホストにアクセスします。+`ディレクトリが存在することを確認する必要があります。このコマンドは、必要に応じてディレクトリを作成します。`ファイルを作成または変更できます。+`ファイルの最後に追加し、必要に応じて作成できます。+`で始まる必要があります。+`ディレクトリのすべての「グループ」および「その他」の権限が再帰的に削除されます。+`ではなくユーザーに属していることも重要です。~/.sshこのチュートリアルでは、ユーザーに名前を付けますが、適切なユーザー名を上記のコマンドに置き換える必要があります。Debianサーバーでパスワードレス認証を試みることができます。上記の手順のいずれかを正常に完了すると、リモートアカウントのパスワードなしでリモートホストにログインできるはずです。@このホストに初めて接続する場合(上記の最後の方法を使用した場合)、次のように表示されます。(yes/no)?これは、ローカルコンピューターがリモートホストを認識しないことを意味します。ENTER`を押して続行します。秘密鍵のパスフレーズを指定しなかった場合、すぐにログインされます。キーを作成したときに秘密キーのパスフレーズを指定した場合、ここで入力するように求められます(セキュリティのために、キーストロークはターミナルセッションに表示されないことに注意してください)。認証後、Debianサーバーで設定されたアカウントで新しいシェルセッションが開きます。キーベースの認証が成功した場合は、パスワード認証を無効にしてシステムをさらに保護する方法を引き続き学習してください。手順4-サーバーでパスワード認証を無効にするパスワードなしでSSHを使用してアカウントにログインできた場合は、アカウントにSSHキーベースの認証が正常に設定されています。パスワードベースの認証メカニズムはまだアクティブであるため、サーバーはブルートフォース攻撃にさらされています。+`権限を持つサーバー。この手順により、パスワードベースのログインがロックダウンされるため、管理アクセスを取得できるようにすることが重要です。+`権限を持つアカウントでSSHキーを使用してリモートサーバーにログインします。次に、SSHデーモンの構成ファイルを開きます。+」というディレクティブを検索します。これはコメントアウトされる場合があります。行のコメントを解除し、値を「no」に設定します。これにより、アカウントパスワードを使用してSSH経由でログインする機能が無効になります。`を押してnanoを終了します。+`サービスを再起動する必要があります。ssh予防措置として、このセッションを閉じる前に、新しいターミナルウィンドウを開き、SSHサービスが正しく機能していることをテストします。@SSHサービスを確認したら、現在のすべてのサーバーセッションを安全に閉じることができます。Debianサーバー上のSSHデーモンは、SSHキーにのみ応答するようになりました。パスワードベースの認証は正常に無効化されました。結論これで、サーバーでSSHキーベースの認証が構成され、アカウントパスワードを入力せずにサインインできるようになります。