5つの簡単なステップでSSHKeygenを使用したSSHパスワードなしログイン


SSH(Secure SHELL)は、コマンドやプログラムを実行するためにリモートサーバーにログインするために使用されるオープンソースで最も信頼できるネットワークプロトコルです。また、セキュアコピー(SCP)プロトコルを使用して、ネットワークを介して1台のコンピューターから別のコンピューターにファイルを転送するためにも使用されます。

この記事では、sshキーを使用してRHEL/CentOSおよびFedoraでパスワードなしのログインを設定し、パスワードを入力せずにリモートLinuxサーバーに接続する方法を示します。 SSHキーでパスワードなしのログインを使用すると、2つのLinuxサーバー間の信頼が高まり、ファイルの同期や転送が簡単になります。

SSH Client : 192.168.0.12 ( Fedora 21 )
SSH Remote Host : 192.168.0.11 ( CentOS 7 )

多数のLinuxリモートサーバーを扱っている場合、SSHパスワードなしのログインは、スクリプトによる自動バックアップ、SCPを使用した同期ファイル、リモートコマンドの実行などのタスクを自動化するための最良の方法の1つです。

この例では、ユーザーtecmintとしてサーバー192.168.0.12からユーザーsheenaを使用して192.168.0.11へのSSHパスワードなしの自動ログインを設定します。

ステップ1:認証SSH-Keygenキーを–(192.168.0.12)で作成する

まず、ユーザーtecmintを使用してサーバー192.168.0.12にログインし、次のコマンドを使用して公開鍵のペアを生成します。

[tecmint@tecmint.com ~]$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key]
Created directory '/home/tecmint/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/tecmint/.ssh/id_rsa.
Your public key has been saved in /home/tecmint/.ssh/id_rsa.pub.
The key fingerprint is:
5f:ad:40:00:8a:d1:9b:99:b3:b0:f8:08:99:c3:ed:d3 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|        ..oooE.++|
|         o. o.o  |
|          ..   . |
|         o  . . o|
|        S .  . + |
|       . .    . o|
|      . o o    ..|
|       + +       |
|        +.       |
+-----------------+

ステップ2:–192.168.0.11に.sshディレクトリを作成する

サーバー192.168.0.12からSSHを使用して、sheenaをユーザーとして使用してサーバー192.168.0.11に接続し、次のコマンドを使用してその下に.sshディレクトリを作成します。

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11 mkdir -p .ssh

The authenticity of host '192.168.0.11 (192.168.0.11)' can't be established.
RSA key fingerprint is 45:0e:28:11:d6:81:62:16:04:3f:db:38:02:la:22:4e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.11' (ECDSA) to the list of known hosts.
sheena@192.168.0.11's password: [Enter Your Password Here]

ステップ3:生成された公開鍵を–192.168.0.11にアップロードする

サーバー192.168.0.12からSSHを使用し、新しく生成された公開鍵(id_rsa.pub)をサーバー192.168.0.11のsheenaの.sshディレクトリの下にファイル名authorized_keysとしてアップロードします。

[tecmint@tecmint ~]$ cat .ssh/id_rsa.pub | ssh sheena@192.168.0.11 'cat >> .ssh/authorized_keys'

sheena@192.168.1.2's password: [Enter Your Password Here]

手順4:アクセス許可をオンに設定– 192.168.0.11

サーバー上のSSHバージョンが異なるため、.sshディレクトリとauthorized_keysファイルにアクセス許可を設定する必要があります。

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

sheena@192.168.0.11's password: [Enter Your Password Here]

ステップ5:パスワードなしで192.168.0.12から192.168.0.11サーバーにログインする

今後は、パスワードなしでサーバー192.168.0.12からtecmintユーザーとしてsheenaユーザーとして192.168.0.11にログインできます。

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11