GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7 /RHEL7でSSHパスワードレスログインを設定する方法

SSHはクライアントおよびサーバープロトコルであり、暗号化されたトンネルを介してネットワーク経由でリモートシステムにアクセスするのに役立ちます。クライアントマシンがSSHを実行しているサーバーにアクセスするたびに、クライアントはサーバーからセキュアキーをダウンロードすると同時に、サーバーはクライアントからキーもダウンロードします。これらの2つのキーにより、サーバーとクライアント間の暗号化されたトンネルが作成されるため、データはネットワーク上で非常に安全に転送されます。

組織に多数のサーバーがある場合、管理者がリモートシステムにアクセスするためにパスワードを入力する必要があるたびに。パスワードを複数回入力するのは面倒です。 SSHには、パスワードなしのログインと呼ばれる新機能が付属しており、パスワードを入力せずにリモートマシンにアクセスできます。

前提条件

ここには、2つの異なるユーザー名を持つ2台のマシンがあります。

ホスト名 IPアドレス ユーザー OS 目的
server.itzgeek.local 192.168.1.10 raj CentOS 7 / RHEL 7 ソースマシン
client.itzgeek.local 192.168.1.20 ram CentOS 7 / RHEL 7 宛先マシン

ここでは、IPアドレスの代わりにホスト名を使用します。

手順に従って、パスワードなしのログインを作成します。

CentOS7でSSHパスワードなしログインを設定する

パスワードなしのログインを有効にするには、クライアントマシンの公開鍵エントリをサーバーの〜/ .ssh / authorized_keys(〜はユーザーのホームディレクトリを表します)ファイルに配置する必要があります。

SSHパスワードレスログインは2つの方法で設定できます。いずれかの方法を選択してください。

  1. 自動–(推奨)
  2. 手動
方法1:(自動)

この方法では、ソースマシンでSSHキーペアを生成し、1つのコマンドで宛先マシンに配置します。

ソースマシンにログインし、次のssh-keygenコマンドを使用してSSHキーペアを作成します。

[raj@server ~]$ ssh-keygen

出力:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):  << Press Enter
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):  << Press Enter
Enter same passphrase again:  << Press Enter
Your identification has been saved in /home/raj/.ssh/id_rsa.
Your public key has been saved in /home/raj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0oqVhWQzIV+hFFHkquVCTihmORqtt+vXHIXhhXoIosI [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    . XB=.       |
|. .  *oB.        |
|o. . +++o        |
|oE..o +=.        |
|+=o o.*.S        |
|++.+ *.o         |
|o . =oo.         |
| . ...o          |
| .+o             |
+----[SHA256]-----+

作成すると、.sshディレクトリ内にid_rsaとid_rsa.pubの2つのファイルがあります。パスワードなしのログインにはid_rsa.pubを使用します。

[raj@server ~]$ ls -al ~/.ssh/

出力:

total 8
drwx------. 2 raj raj   38 Sep  6 00:37 .
drwx------. 3 raj raj   74 Sep  6 00:37 ..
-rw-------. 1 raj raj 1675 Sep  6 00:37 id_rsa
-rw-r–r–. 1 raj raj 406 Sep 6 00:37 id_rsa.pub

id_rsa.pubの入力ファイルでssh-copy-idコマンドを使用します。

[raj@server ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-idコマンドは、ファイルが作成しない場合、宛先マシンに〜/ .ssh/authorized_keysを作成します。それ以外の場合、ssh-copy-idは新しいキーを既存のキーに追加します。

出力:

The authenticity of host 'client.itzgeek.local (192.168.1.20)' can't be established.
ECDSA key fingerprint is SHA256:sueTz6FURcKDbeyGkpE7lUHOaosW/rkkvlG18v98T7Y.
ECDSA key fingerprint is MD5:f7:39:52:7e:2e:a4:20:84:ff:d7:72:21:20:36:91:76.
Are you sure you want to continue connecting (yes/no)? yes << Type Yes and Press Enter
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: << Enter password of destination machine user (ram)

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
方法2:(手動)

この方法では、ソースマシンでSSHキーペアを生成し、手動でログインして宛先マシンに配置します。

まず、ソースマシンにログインし、次のコマンドを使用してSSHキーペアを作成します。

[raj@server ~]$ ssh-keygen

出力:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):  << Press Enter
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):  << Press Enter
Enter same passphrase again:  << Press Enter
Your identification has been saved in /home/raj/.ssh/id_rsa.
Your public key has been saved in /home/raj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0oqVhWQzIV+hFFHkquVCTihmORqtt+vXHIXhhXoIosI [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    . XB=.       |
|. .  *oB.        |
|o. . +++o        |
|oE..o +=.        |
|+=o o.*.S        |
|++.+ *.o         |
|o . =oo.         |
| . ...o          |
| .+o             |
+----[SHA256]-----+

作成すると、.sshディレクトリ内にid_rsaとid_rsa.pubの2つのファイルがあります。パスワードなしのログインにはid_rsa.pubを使用します。

[raj@server ~]$ ls -al ~/.ssh/

出力:

total 8
drwx------. 2 raj raj   38 Sep  6 00:37 .
drwx------. 3 raj raj   74 Sep  6 00:37 ..
-rw-------. 1 raj raj 1675 Sep  6 00:37 id_rsa
-rw-r--r--. 1 raj raj 406 Sep 6 00:37 id_rsa.pub
scpコマンドを使用して、id_rsa.pubを宛先にコピーするか、id_rsa.pubファイルの内容をコピーして宛先マシン(〜/ .ssh / authorized_keysファイル)に貼り付けることができます。

コピー方法:1

宛先マシンにログインし、ユーザーのホームディレクトリに.sshディレクトリが存在しない場合は作成します。

[ram@client ~]$ mkdir ~/.ssh

[ram@client ~]$ chmod 700 ~/.ssh

scpを使用する id_rsa.pubをコピーするコマンド 宛先マシンの/tmpへ ディレクトリ。

[raj@server ~]$ scp -pr  ~/.ssh/id_rsa.pub [email protected]:/tmp

パスワードなしのログインはまだ構成されていないため、宛先のパスワードを入力する必要があります。

パスワードなしでログインするには、ソースキーをauthorized_keysファイルに配置します。

[ram@client ~]$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

ファイルの権限を更新します。

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys

コピー方法:2

宛先マシンにログインし、ユーザーのホームディレクトリに.sshディレクトリが存在しない場合は作成します。

[ram@client ~]$ mkdir ~/.ssh

[ram@client ~]$ chmod 700 ~/.ssh

authorized_keysファイルを編集します。

[ram@client ~]$ vi ~/.ssh/authorized_keys

ソースマシンで、catコマンドを使用してid_rsa.pubファイルの内容を表示します。コンテンツを選択してコピーします(PUTTYを使用していると仮定します)。

[raj@server ~]$ cat ~/.ssh/id_rsa.pub

出力: (サンプル)

上記のコンテンツを宛先のauthorized_keysファイルに配置して保存します。次に、ファイルの権限を更新します。

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys

パスワードなしのログインをテストする

次に、SSHを使用してリモートマシンにアクセスします。パスワードを尋ねることなく、シェルに直接移動します。

[raj@server ~]$ ssh [email protected]

[ram@client ~]$ uname -a

結論

それで全部です。このパスワードなしのログインは、システム管理者の時間とエネルギーを節約します。コメントセクションでフィードバックを共有してください。


Cent OS
  1. パスワードレスログインSSH– CentOS 6 / RHEL 6

  2. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法

  3. Linux で「パスワードなし」の ssh ログイン用に SSH キーをセットアップする方法

  1. パスワードなしでSSHログインを設定する方法

  2. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法

  3. CentOS/RHEL で「パスワードレス」SSH ログイン用の SSH キーをセットアップする方法

  1. パスワードなしのSSHログインを設定する方法

  2. CentOS8でSSHキーを設定する方法

  3. Linux でパスワードなしの SSH ログインをセットアップする方法