??????
??????
??????
??????
??????

内容

SSHキーは、Webサイトにセキュリティの層を追加するのに役立ちます。通常、SSH接続(セキュアシェル)はクライアントとサーバーの間にあります。この接続はパスワードで認証されます。パスワードが安全でなくなったと言っているわけではありません。パスワードのさまざまな組み合わせを試すことで、SSHサーバーにブルートフォース攻撃を行うのは簡単です。ハッカーが8桁のパスワードを試すのにどれくらい時間がかかると思いますか?スーパーコンピューターでは数分、GPUを使用する通常のマシンでは数日です。これは、パスワードがセキュリティの脆弱性であることを意味します。ただし、心配しないでください。パスワードの使用を回避する方法があります。 SSHキー

SSHキーとは何ですか?

SSHキーは、公開キーとプライベートキーで構成される暗号化されたキーです。この方法はRSA暗号化を介して機能し、公開鍵はすべての公開鍵でデータを暗号化できますが、秘密鍵のみがそのデータを復号化できます。少なくとも今のところは。技術的に秘密鍵を解読することはできますが、パスワードよりも少し安全な数年かかります。通常、ブラウザとWebの間でこの種の暗号化が見られます。サーバーの公開鍵にアクセスし、サーバーがデータを暗号化します。しかし、それを復号化することはできません。これは一方向暗号化と呼ばれます。

SSHキーの作成

まず、現在生成されているキーがあるかどうかを知る必要があります。このためには、次のコマンドを実行するだけです。

ls -l〜 / .ssh / id _ *。pub

これにより、現在生成されているキーがあるかどうかがわかり、結果が次のように返されます。データ/ファイルが見つからない場合は、すでに生成されているキーを使用するか、独自のキーを作成できます。

次に、次のコードでキーを生成しましょう。

ssh-keygen -t rsa -b 4096 -C "[email protected]"

必ずメールアドレスを置き換えてください。ここでEnterキーを押すと、パスフレーズを作成するように求められます。これにより、オプションですが、セキュリティの層が追加されます。次の出力が表示されます。

パスフレーズを入力します(パスフレーズがない場合は空):

出力はこれに似ています

コマンドライン出力

今、あなたは走ることができます

ls〜 / .ssh / id_ *

出力は次のようになります

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

注:これまで、これはすべてサーバーではなくマシンで生成されていました。次のコマンドはユーザーをSSHキーにリンクするため、これは重要です。

キーとユーザーのリンク

ssh-copy-id remote_username @ server_ip_address

次の出力が表示されます

remote_username @ server_ip_addressのパスワード:

認証されると、 〜/ .ssh / id_rsa.pub にコピーされます 〜/ .ssh / authorized_keys。前述のコマンドを実行できない場合は、次のコマンドを実行することもできます。

サーバーで、次のコマンドを実行します。

猫〜/ .ssh / id_rsa.pub | ssh remote_username @ server_ip_address "mkdir -p〜 / .ssh && chmod 700〜 / .ssh && cat >>〜/ .ssh / authorized_keys && chmod 600〜 / .ssh / authorized_keys"

パスワードによるSSHログインの無効化

ssh sudo_user @ server_ip_address sudo nano / etc / ssh / sshd_config

次の行を見つけて、次のように変更します。

PasswordAuthenticationなしChallengeResponseAuthenticationなしUsePAMなし

最後に実行します

sudo systemctl restart ssh

あなたは今行ってもいいです。