目次
1.ローカルマシンでSSHキーペアを生成する
2.公開キーをリモートサーバーにコピーします
3. SSHキーログインをテストします
4。(オプション)セキュリティ用のパスワード認証を無効にします
ヒントとベストプラクティス
ホームページ システムチュートリアル Linux Linux SSHキーベースのログインをセットアップする方法

Linux SSHキーベースのログインをセットアップする方法

Aug 15, 2025 pm 01:31 PM
ssh 密钥登录

SSHキーペアを生成します。SSH -KeyGenをローカルに-tED25519 -C "your_email@example.com"を実行して、パブリックキーと秘密鍵を作成し、〜/.ssh/id_ed25519の秘密鍵を保存し、公開キーは〜/.ssh/id_ed25519.pubです。 2。公開キーをサーバーにコピーします。SSH-Copy-ID username@server_ip_addressを使用して、サーバーの〜/.ssh/authorized_keysファイルに公開キーを自動的に追加します。利用できない場合は、CATおよびSSHコマンドを介して手動で完了し、CHMOD 700〜/.SSHおよびCHMOD 600〜/.SSH/Authorized_Keysに許可を設定します。 3.テストログイン:SSH Username@server_ip_addressを実行してください。パスワードなしでログインできるかどうかを確認します。キーパスワードを設定した場合は、1回入力する必要があります。 4。(オプション)パスワード認証の無効化:キーログインが成功したことを確認した後、/etc/ssh/sshd_configファイルを編集し、passwordauthentication no、pubkeyauthentication yes、challengeresponseothentication no、usepam no、ssh service service sudo systemctl restart sshdを再起動してセキュリティを強化します。 SSH-Agentを使用してキーパスワードを管理し、プライベートキーを適切にバックアップし、キーの再利用を避け、Yubikeyなどのハードウェアキーを使用してセキュリティレベルを改善し、最終的にはより安全で便利なパスワードレスログインを実現することをお勧めします。

Linux SSHキーベースのログインをセットアップする方法

SSHキーベースの認証のセットアップは、毎回パスワードを入力せずにLinuxサーバーにログインするための安全で便利な方法です。また、必要に応じてパスワードログインを無効にすることにより、セキュリティを改善します。段階的に設定する方法は次のとおりです。


1.ローカルマシンでSSHキーペアを生成する

最初に、ローカルコンピューターでパブリックキーペアと秘密キーペアを生成することから始めます(サーバーではなく)。

端末を開いて実行します。

 ssh -keygen -t ed25519 -c "your_email@example.com"
  • -t ed25519モダンで安全なキータイプ(推奨)を指定します。システムがED25519をサポートしていない場合は、 -t rsa -b 4096を使用してください。
  • -C識別のために(メールなど)コメントを追加します。

あなたは次のように求められます:

  • ファイルの場所を選択します(Enterを押してデフォルト、通常は~/.ssh/id_ed25519を受け入れます)。
  • パスフレーズを設定します(オプションですが、追加のセキュリティに推奨されます)。

この後、2つのファイルが作成されます。

  • ~/.ssh/id_ed25519 - 秘密鍵(これを安全に保ち、共有しないでください)。
  • ~/.ssh/id_ed25519.pub - 公開キー(これはサーバーにあります)。

2.公開キーをリモートサーバーにコピーします

最も簡単な方法はssh-copy-idを使用することです。

 ssh-copy-id username@server_ip_address

usernameリモートユーザーに置き、サーバーのIPまたはホスト名でserver_ip_addressます。

このコマンド:

  • パスワードを使用してSSHを介して接続します。
  • 公開キーをサーバーに~/.ssh/authorized_keysに追加します。

ssh-copy-idが利用できない場合は、手動で行うことができます。

 cat〜/.ssh/id_ed25519.pub | ssh username@server_ip_address "mkdir -p〜/.ssh && cat >>〜/.ssh/authorized_keys"

サーバーに正しい権限があることを確認してください。

 ssh username@server_ip_address "chmod 700〜/.ssh && chmod 600〜/.ssh/authorized_keys"

3. SSHキーログインをテストします

ここでログインしてみてください:

 ssh username@server_ip_address

すべてが正しく設定されている場合:

  • パスワードを要求されることはありません(キーにパスフレーズを設定しない限り)。
  • パスフレーズを使用した場合、セッションごとに一度求められます( ssh-agentでキャッシュできます)。

4。(オプション)セキュリティ用のパスワード認証を無効にします

キーベースのログインが機能すると、パスワードログインを無効にして、ブルートフォース攻撃を防ぐことができます。

⚠⚠️警告: SSHキーログイン作業を確認した後にのみこれを行います。そうでなければ、あなたは自分自身を締め出すかもしれません。

サーバーで、SSHデーモン構成を編集します。

 sudo nano/etc/ssh/sshd_config

これらの行を見つけて変更します。

 PasswordAuthentication no
pubkeyauthenticationはい

また、次のようにしてください。

 Challengeresponseothentication no
usepam no

ファイルを保存してから、SSHサービスを再起動します。

 sudo systemctl restart sshd

これで、正しい秘密鍵を持つクライアントのみが接続できます。


ヒントとベストプラクティス

  • ssh-agentを使用して、キーパスフレーズを繰り返し入力しないようにします。

     eval $(ssh-agent)
    ssh-add〜/.ssh/id_ed25519
  • プライベートキーを安全に保ちます:別のマシンにコピーしたり、バージョンコントロールにコミットしたりしないでください。

  • キーのバックアップ:秘密キーを失い、パスワードを無効にした場合、アクセスを失うことになります。

  • さまざまな目的でさまざまなキーを使用します。個人、作業、および生産サーバー全体で同じキーを再利用しないでください。

  • さらに強力なセキュリティのために、ハードウェアキー(Yubikeyなど)を使用することを検討してください


  • それでおしまい。キーベースのSSHログインがセットアップされました。特にタスクを自動化したり、サーバーをリモートで管理したりする場合、パスワードよりも安全で便利です。

    以上がLinux SSHキーベースのログインをセットアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 の Telnet 完全チュートリアル [インストール/有効化とトラブルシューティング] Windows 11 の Telnet 完全チュートリアル [インストール/有効化とトラブルシューティング] May 22, 2023 pm 09:35 PM

&lt;p&gt;Telnet は「ターミナル ネットワーク」の略称です。これは、ユーザーが 1 台のコンピュータをローカル コンピュータに接続するために使用できるプロトコルです。 </p><p>ここで、ローカル コンピュータとは接続を開始するデバイスを指し、ローカル コンピュータに接続されているコンピュータをリモート コンピュータと呼びます。 &lt;/p&gt;&lt;p&gt;Telnet はクライアント/サーバー プリンシパルで実行され、時代遅れではありますが、2022 年現在でも多くの人に使用されています。多くの人はすでに Microsoft が提供する最新のオペレーティング システムである Windows 11 オペレーティング システムに切り替えています。 &

iPadからMacにSSH接続する方法 iPadからMacにSSH接続する方法 Apr 14, 2023 pm 12:22 PM

iPad から Mac に SSH 接続する方法 これは 2 部構成のチュートリアルです。まず、Mac で SSH サーバーを有効にし、次に ssh クライアント アプリを使用して iPad から接続します。 Mac で SSH サーバーを開始する リモート ログインと呼ばれる機能をオンにすることで、Mac で SSH サーバーを有効にできます。  Apple メニュー > システム環境設定 > 共有 > 「リモート ログイン」を有効にする に移動し、「リモート ユーザーにディスクへのフル アクセスを許可する」ボックスにチェックを入れます。 これで、Mac が SSH サーバーになり、iPad から接続するためのシェルが提供されます。知らせ

Python サーバー プログラミング: Paramiko を使用して SSH リモート操作を実装する Python サーバー プログラミング: Paramiko を使用して SSH リモート操作を実装する Jun 18, 2023 pm 01:10 PM

クラウド コンピューティングとモノのインターネットの発展に伴い、サーバーのリモート操作がますます重要になっています。 Python では、Paramiko モジュールを使用して SSH リモート操作を簡単に実装できます。この記事では、Paramiko の基本的な使い方と、Python で Paramiko を使用してサーバーをリモート管理する方法を紹介します。 Paramiko とは Paramiko は、SSH クライアントの接続と制御に使用できる SSHv1 および SSHv2 用の Python モジュールです。

Windows での OpenSSH: インストール、構成、および使用ガイド Windows での OpenSSH: インストール、構成、および使用ガイド Mar 08, 2024 am 09:31 AM

ほとんどの Windows ユーザーにとって、使いやすいグラフィカル インターフェイスを提供するリモート デスクトップ プロトコル (RDP) は常にリモート管理の最初の選択肢となってきました。ただし、より詳細な制御が必要なシステム管理者にとっては、SSH の方がニーズに適している可能性があります。 SSH を介して、管理者はコマンド ラインを通じてリモート デバイスと対話できるため、管理作業がより効率的になります。 SSH の利点はセキュリティと柔軟性にあり、特に多数のデバイスを扱う場合や自動化されたタスクを実行する場合、管理者はリモート管理やメンテナンス作業を簡単に実行できます。したがって、使いやすさの点では RDP が優れていますが、システム管理者にとっては、パワーと制御の点では SSH の方が優れています。以前は、Windows ユーザーは借用する必要がありました

Linux Debian11 サーバーに SSH をインストールし、新しいユーザーを作成して SSH リモート ログインを許可し、SSH セキュア ログインを構成します。 Linux Debian11 サーバーに SSH をインストールし、新しいユーザーを作成して SSH リモート ログインを許可し、SSH セキュア ログインを構成します。 Mar 01, 2024 pm 07:16 PM

Debian11 サーバーに SSH をインストールし、SSH リモート ログインを許可する新しいユーザーを作成する手順は次のとおりです。 ステップ 1: SSH をインストールする SSH サーバーをインストールするには、Debian11 サーバーに root ユーザーまたはユーザーとしてログインする必要があります。 sudo 権限を持つユーザー。ターミナルで次のコマンドを実行して SSH サーバーをインストールします。 sudoaptupdatesudoaptinstallopenssh-server ステップ 2: 新しいユーザーを作成する 新しいユーザーを作成するには、adduser コマンドを使用します。次のコマンドを希望のユーザー名に置き換えます: sudoaddusernew_username 新しいユーザーのパスワードなどを設定するように求められます。

Linux システムで SSH サービスを開始できない場合の対処方法 Linux システムで SSH サービスを開始できない場合の対処方法 Mar 19, 2024 pm 12:15 PM

Linux システムでは、SSH (SecureShell) サービスは、サーバーにリモート接続して管理操作を実行するための非常に重要なツールです。ただし、場合によっては、SSH サービスの開始に失敗し、サーバーにリモートで接続できなくなる可能性があります。この場合、問題を解決するために何らかの措置を講じる必要があります。この記事では、Linux システムで SSH サービスの開始に失敗した場合の対処方法を紹介し、この問題の解決に役立つ具体的なコード例をいくつか示します。 1.確認

LinuxでSSHのバージョンを確認する方法 LinuxでSSHのバージョンを確認する方法 Feb 15, 2023 am 11:28 AM

確認方法: 1. テキストエディタで「/etc/ssh/sshd_config」を開き、「プロトコル」欄を確認します。「プロトコル 2」が表示されている場合は、サーバーが SSH2 のみをサポートしていることを意味します。と表示されている場合は、サーバーが SSH2 と SSH2 の両方をサポートしていることを意味します。 2. ssh に特定の SSH プロトコルの使用を強制し、SSH サーバーの応答を確認して判断します。 3. 「sudo scanssh -s ssh ip address」という構文で scanssh ツールを使用します。

Linux SSH ログインの相互信頼構成 Linux SSH ログインの相互信頼構成 Feb 19, 2024 pm 07:48 PM

1. ssh 相互信頼の目的 1. SSH 相互信頼は、クラスターを構築するときに必要です。これは、別のノードでの操作を便利にするのに役立ちます。 2. scp リモートコピー操作を使用する場合、ターゲットサーバーのユーザー名とパスワードを入力する必要がありますが、このとき、Linux サーバー間に SSH 相互信頼を設定することで、複数のサーバー間で操作する場合にパスワードなしでログインできるようになります。 Linuxサーバー。 2. ssh 相互信頼構成の原理. つまり、サーバーが対象ホストの証明書を保存し、パスワードを入力しなくても自動的に認証が完了するようにします。 3. SSH 相互信頼の構成手順 1. 各ノードは、独自の公開鍵と秘密鍵のペアを生成します。 2. 公開鍵ファイルを相手に送信します。 3. 相互信頼構成が成功したかどうかを確認します。 4. ここで MYDB01 を使用して ssh 相互信頼を構成し、

See all articles