SSHパスワードフリーログイン設定方法の詳しい説明(画像とコマンド)

SSHパスワードフリーログイン設定方法の詳しい説明(画像とコマンド)

まず、私たちがやりたいことは、serverA の usera を使用して、パスワードなしで serverB の userb にログインすることだということを説明します。

まずuseraを使ってserverAサーバーにログインします

[root@serverA ~]# su - usera
[usera@serverA ~]$ pwd
/ホーム/ユーザー

次に、サーバーAでキーペアを生成します。

[usera@serverA ~]$ ssh-keygen -t rsa
公開/秘密 RSA キー ペアを生成しています。
キーを保存するファイル (/home/usera/.ssh/id_rsa) を入力します。 
ディレクトリ '/home/usera/.ssh' を作成しました。
パスフレーズを入力してください (パスフレーズがない場合は空白): 
同じパスフレーズをもう一度入力してください: 
あなたの識別情報は /home/usera/.ssh/id_rsa に保存されました。
公開鍵は /home/usera/.ssh/id_rsa.pub に保存されました。
キーのフィンガープリントは次のとおりです。
39:f2:fc:70:ef:e9:bd:05:40:6e:64:b0:99:56:6e:01 ユーザーa@サーバーA
キーのランダムアート画像は次のとおりです。
+--[RSA 2048]----+
| えお* |
| @ . |
| = * |
| うーん。|
| . S . |
| + . . |
| + . .|
| + . o . |
| .o= o. |
+-----------------+ 


この時点で、/home/usera/.sshディレクトリにキーペアが生成されます。

[usera@serverA ~]$ ls -la .ssh
総投与量 16
drwx------ 2 usera usera 4096 8月24日 09:22 .
drwxrwx--- 12 ユーザー ユーザー 4096 8月 24日 09:22 ..
-rw------- 1 ユーザー ユーザー 1675 8月 24日 09:22 id_rsa
-rw-r--r-- 1 ユーザー ユーザー 399 8月 24日 09:22 id_rsa.pub

次に公開鍵をserverBにアップロードし、userbとしてログインします。

[usera@portalweb1 ~]$ ssh-copy-id [email protected]
ホスト「10.124.84.20 (10.124.84.20)」の信頼性を確立できません。
RSA キーのフィンガープリントは f0:1c:05:40:d3:71:31:61:b6:ad:7c:c2:f0:85:3c:cf です。
本当に接続を続行しますか (はい/いいえ)? はい
警告: '10.124.84.20' (RSA) が既知のホストのリストに永続的に追加されました。
[email protected]のパスワード: 
ここで、「ssh '[email protected]'」を使用してマシンにログインし、チェックインしてみます。
 
 .ssh/承認キー
 
予期しないキーが追加されていないことを確認するためです。 


この時点で、useraの公開鍵ファイルの内容がuserbの.ssh/authorized_keysファイルに追加されます。

[usera@serverA ~]$ cat .ssh/id_rsa.pub 
ssha aaab3nzac1yc2eaaaabiwaaaaqeaqea2dpxfvifkpswsbuspcuwred/mftwpdeerhlwaxnixgixlvhus9qnavepzocvpbzwhade88klpkr5xev66m5rschxxxmxj1ie5vfpdj1ie5vfppdj1j1j1ie5mdj1j1ie5pptdie5 yerplybonrfftqgxac/ximmbyhecti0vnujlvet0pprj7bqmmxr/2lnlhifxkkzcxgzgzgzkhgqybqkk/rqweuyaiumvuim8ssk/rdg8hl/n0exjh99jv8h17od4hfstvfkffkffkffkffkffkffkfffkffkffkffkffkfkfkfkfkfkfkfkfkfk XA7SB9O7Z6SCVRHJCMW3GBZZGYUPSJ0WKQDTW2UN0NH4UGQO7JFYILRVZTWIM7P6YGSI7VMA/VRP0AW == USERA@SERVERA

serverB の userb の下にある ~/.ssh/authorized_keys ファイルを確認します。内容は同じなので、ここでは画像を貼り付けません。

[userb@serverB ~]$ cat .ssh/authorized_keys 
ssha aaab3nzac1yc2eaaaabiwaaaaqeaqea2dpxfvifkpswsbuspcuwred/mftwpdeerhlwaxnixgixlvhus9qnavepzocvpbzwhade88klpkr5xev66m5rschxxxmxj1ie5vfpdj1ie5vfppdj1j1j1ie5mdj1j1ie5pptdie5 yerplybonrfftqgxac/ximmbyhecti0vnujlvet0pprj7bqmmxr/2lnlhifxkkzcxgzgzgzg hgqybqkkk/rqweuyaiumvuim8ssk/rdg8hl/n0exjh999jv8h18hd4hfspkfkffkffkffkffkffkffkffkffkffkfkfkfkfkfkfkfkfk XA7SB9O7Z6SCVRHJCMW3GBZZGYUPSJ0WKQDTW2UN0NH4UGQO7JFYILRVZTWIM7P6YGSI7VMA/VRP0AW == USERA@SERVERA

さらに、.ssh ディレクトリの権限は 700 であり、その下の authorized_keys ファイルと private keys ファイルの権限は 600 であることに注意してください。そうしないと、権限の問題によりパスワードなしでログインできなくなります。ログイン後にknown_hostsファイルが生成されることがわかります。

[useb@serverB ~]$ ls -la .ssh
合計 24
drwx------. 2 useb useb 4096 7月27日 16:13 .
drwx------. 35 useb useb 4096 8月24日 09:18 ..
-rw------- 1 useb useb 796 8月 24 09:24 authorized_keys
-rw------- 1 useb useb 1675 7月 27 16:09 id_rsa
-rw-r--r-- 1 useb useb 397 7月27日 16:09 id_rsa.pub
-rw-r--r-- 1 useb useb 1183 8月11日 13:57 known_hosts

これを実行すると、パスワードなしでログインできるようになります。

[usera@serverA ~]$ ssh [email protected]

さらに、公開鍵をサーバーの ~/.ssh/authorized_keys ファイルにコピーする方法はいくつかあります。

1. 公開鍵を scp 経由でサーバーにコピーし、それを ~/.ssh/authorized_keys ファイルに追加します。この方法はより面倒です。 scp -P 22 ~/.ssh/id_rsa.pub user@host:~/.

2. 私が実演した方法であるssh-copy-idプログラムを通じて、ssh-copyid user@host

3. cat ~/.ssh/id_rsa.pub | ssh -p 22 user@host 'cat >> ~/.ssh/authorized_keys' を使用できます。ポート番号を変更できるため、これも一般的な方法です。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux での SSH パスワードフリーログイン設定の詳細な説明
  • sshはデフォルトのポート番号を変更し、パスワード不要のリモートログインを実装します
  • CentOS で SSH パスワードフリーログインを設定した後もパスワードを入力しなければならない問題の解決策
  • SSHでキーパスワードなしのログインを設定する方法の詳細な説明
  • CentOS / RHEL で SSH パスワードフリー ログインを設定する方法
  • Ubuntu 16.04 サーバー構成 SSH パスワードなしログイン
  • Linux リモートログイン SSH パスワードフリー設定方法
  • Linux 上で SSH パスワードフリーのログインとキー管理、配布、および SHELL スクリプト共有の展開を実装します。
  • Ubuntu で SSH パスワード不要のログイン インストールを設定する方法

<<:  Windows での MySQL 5.7.20 のインストールと設定方法のグラフィック チュートリアル

>>:  MySQL 5.7.23 のインストールと設定方法のグラフィックチュートリアル

推薦する

クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明

k8s の最小のスケジューリング単位 --- pod前回の記事では、k8s が解決できる問題を簡単に...

CSS を使用して 3 つのステップでショッピング モールのカード クーポンを作成する

今日は618日、主要なショッピングモールはすべてプロモーション活動を行っています。今日は、次のように...

Angular CLI リリース パスの構成項目の簡単な分析

序文プロジェクトのリリースでは、常に特定の状況に応じたパッケージ化が必要です。Angular CLI...

Vue の高度な構築プロパティの詳細な説明

目次1. ディレクティブカスタムディレクティブ2. ミックスイン3. 継承を拡張する4. 提供して注...

JavaScript での AOP プログラミングの基本実装

AOP の紹介AOP (アスペクト指向プログラミング) の主な機能は、コアビジネスロジックモジュール...

Vue要素と多言語切り替えの詳細な説明

目次序文複数の言語を切り替えるにはどうすればいいですか? 1. vue-i18nパッケージをインスト...

フォーム送信ページの更新がジャンプしない

1. ソースコードの設計コードをコピーコードは次のとおりです。 <!DOCTYPE html ...

vue+px2rem(rem適応)を使用してPCで大画面適応を実装するためのサンプルコード

構成の序文プロジェクト構築: vue-cli3 をベースに構築、rem 適応には postcss-p...

MySQLは現在の日付と時刻を取得する関数

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

JavaScript でプライベート変数を宣言する 2 つの方法

序文JavaScript は、キーワードを使用してプライベート変数を宣言できる他の言語とは異なります...

この記事ではJavaScriptの基本であるディープコピーとシャローコピーについて説明します。

目次浅いコピーディープコピー補充する要約するコピー(クローン、複製などとも呼ばれる)ですが、ディープ...

Linux seqコマンドの使い方の詳しい説明

01. コマンドの概要seq コマンドは整数のシーケンスを生成するために使用されます。 02. コマ...

MySQLのビューの詳細な説明

ビュー: MySQL のビューはテーブルと多くの類似点があります。ビューも複数のフィールドと複数のレ...

Linux システムで Vim を使用してリモート ファイルを読み書きするコマンドの詳細な説明

vim の動作モードを設定する (一時的) :set (モード情報) :set nu — 行番号を表...