Linuxサーバー間でパスワードなしの認証用のSSHキーを交換する方法

LinuxにSSHキーベースの認証を実装する


SSH(Secured Shell)は、SSHクライアントとリモートサーバー間に暗号で保護された接続を作成するプロトコルです。.

SSHを使用すると、リモートサーバーを安全に管理できます。これは多くの点で役立ちます.

  • マルチサーバー展開
  • リモートでのサービスの停止/開始
  • オートメーション

そしてすべてのあなたの創造性(うまくいけば)…

システム管理者として、これは知っておくべき基本的なものです.

方法を学びましょう…

秘密鍵と公開鍵を生成します。秘密鍵はsshクライアントマシンに保存し、安全に保管する必要があります。パスワードが不要なSSHクライアントマシンからリモートサーバーにログインするには、公開鍵をリモートサーバーにコピーする必要があります。.

次のことを学びます.

  • SSHをインストールします(すでにインストールされている場合は不要)
  • SSHキーを生成する
  • SSHキーをリモートサーバーにコピーする
  • SSHを使用してリモートサーバーにログインする

デモンストレーションのために、以下のIPアドレスを持つ2つのサーバーがあります。1つはクライアントで、もう1つはクライアントマシンからsshを介してログインするサーバーです。.

  • クライアント(ユーザー -> geekflare):192.168.56.102
  • リモート(ユーザー -> ubuntu):192.168.56.101

SSHのインストール

この記事に記載されている手順を実行する前に、openssh-serverがサーバーにインストールされていることを確認してください。インストールされていない場合は、以下のコマンドを実行してインストールします.

sudo apt-get install openssh-server

sudo systemctl enable ssh

sudo systemctl start ssh

sshコマンドを実行して、システムにインストールされているかどうかを確認できます.

[メール保護]:〜$ ssh

使用法:ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]

[-b bind_address] [-c cipher_spec] [-D [bind_address:] port]

[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]

[-i identity_file] [-J [[メール保護]]ホスト[:ポート]] [-Lアドレス]

[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]

[-Q query_option] [-R address] [-S ctl_path] [-W host:port]

[-w local_tun [:remote_tun]]宛先[コマンド]

SSHキーを生成する

これはクライアントサーバーで行う必要があります.

ssh-keygenコマンドを実行して、SSHキーを生成します。ファイル、パスフレーズ、同じパスフレーズを要求されたら、Enterキーを押すだけです。デフォルトで〜/ .sshディレクトリにキーのペアを生成します。 Id_rsaは秘密鍵であり、id_rsa.pubは関連する公開鍵です.

[メール保護]:〜$ ssh-keygen

公開/秘密のRSAキーペアを生成しています.

キーを保存するファイルを入力(/home/geekflare/.ssh/id_rsa):

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

同じパスフレーズをもう一度入力してください:

識別情報は/home/geekflare/.ssh/id_rsaに保存されました.

公開鍵は/home/geekflare/.ssh/id_rsa.pubに保存されました.

重要なフィンガープリントは次のとおりです。

SHA256:3XDm62tzJegGm8oAmFYCyeFZovJOuU42zNgyn9GzH30 [メール保護]

キーのランダムアート画像は次のとおりです。

+—[RSA 2048]—-+

| o + .. |

| + o + |

| oo。 。 。 o |

| .. *。 * |

| B S。 o。 |

| O o。 。 。 …。|

| + @ o o。 E =。 o |

| B + o + .o。=。 |

| + … o。 oo + |

+—-[SHA256]—–+

〜/ .sshディレクトリに2つの新しいファイルを生成します.

SSHキーをリモートサーバーにコピー

秘密鍵はリモートサーバーの〜/ .sshフォルダーにコピーする必要があります。ほとんどのサーバーには、このフォルダがないはずです。ない場合は、フォルダを作成する必要があります。.

そして、そうするために:

  • 接続したいユーザーでリモートサーバーにログインします。私の場合、そのubuntu
  • 現在の作業ディレクトリがユーザーのホームディレクトリであることを確認してから、.sshフォルダを作成します。次の単一のコマンドを使用して作成することもできます

mkdir -p〜/ .ssh

すでに.sshフォルダーがある場合は、そのバックアップを取ります.

次に、クライアントサーバーから公開鍵をプッシュしましょう.

クライアントマシン(192.168.56.102)で、以下のコマンドを実行して、リモートサーバーの公開鍵を.sshディレクトリのauthorized_keysファイル内にコピーします。.

[メール保護]:〜$ cat .ssh / id_rsa.pub | ssh [メール保護] ‘ネコ >> .ssh / authorized_keys ‘

[メール保護]のパスワード:

以下のコマンドを実行して、リモートサーバーのauthorized_keysファイルに権限を設定します.

[メール保護]:〜$ ssh [メール保護] "chmod 700 .ssh; chmod 640 .ssh / authorized_keys"

これで、鍵が交換され、権限がすべて設定されたと結論付けました。.

SSHを使用してリモートサーバーにログインする

動作するかどうかをテストしてみましょう!

geekflareユーザーとしてクライアントマシン(192.168.56.102)からリモートサーバー(192.168.56.101)にログインしましょう.

以下のコマンドを実行してテストします。今回はパスワードを要求しません.

[メール保護]:〜$ ssh [メール保護]

Ubuntu 16.04.6 LTS(GNU / Linux 4.4.0-151-generic i686)へようこそ

*ドキュメント:https://help.ubuntu.com

*管理:https://landscape.canonical.com

*サポート:https://ubuntu.com/advantage

346個のパッケージを更新できます.

11個の更新はセキュリティ更新です.

最終ログイン:2019年6月17日00:10:32から192.168.56.101

どうぞ…

リモートサーバーに正常にログインしました。以下のコマンドを実行すると、リモートマシンのIPの詳細が表示されます.

[メール保護]:〜$ ifconfig

enp0s3 Link encap:Ethernet HWaddr 08:00:27:9b:47:86

inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0

inet6 addr:fe80 :: 5c62:3267:b752:fe5d / 64 Scope:Link

UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RXパケット:20239エラー:0ドロップ済み:0オーバーラン:0フレーム:0

TXパケット:5406エラー:0ドロップ済み:0オーバーラン:0キャリア:0

衝突:0 txqueuelen:1000

RXバイト:22678039(22.6 MB)TXバイト:701710(701.7 KB)

enp0s8 Link encap:Ethernet HWaddr 08:00:27:a9:4a:6b

inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0

inet6 addr:fe80 :: 54a9:761c:9034:21a2 / 64 Scope:Link

UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RXパケット:330エラー:0ドロップ済み:0オーバーラン:0フレーム:0

TXパケット:197エラー:0ドロップ:0オーバーラン:0キャリア:0

衝突:0 txqueuelen:1000

RXバイト:42847(42.8 KB)TXバイト:32774(32.7 KB)

loリンクカプセル化:ローカルループバック

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr::: 1/128 Scope:Host

ループバック実行中MTU:65536メトリック:1

RXパケット:997エラー:0ドロップ済み:0オーバーラン:0フレーム:0

TXパケット:997エラー:0ドロップ済み:0オーバーラン:0キャリア:0

衝突:0 txqueuelen:1

RXバイト:79654(79.6 KB)TXバイト:79654(79.6 KB)

結論

ご覧のとおり、SSHキー交換の設定は非常に簡単です。これがあなたとLinuxの管理とトラブルシューティングの学習に役立つことを願っています。 ウデミーコース.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map