GNU/Linux >> Linux の 問題 >  >> Linux

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

この投稿では、2 つの CentOS/RHEL ホスト間でパスワードなしの ssh を構成する手順について概説しています。手順はほぼ同じですが、すべての Linux ディストリビューションで若干の変更があります。

1. ssh キーをセットアップするユーザーとしてログインします。この場合、ユーザー「geek」を使用しています。

2. 秘密鍵と公開鍵を作成します:

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/geek/.ssh/id_rsa):
Created directory '/home/geek/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/geek/.ssh/id_rsa.
Your public key has been saved in /home/geek/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:joc/+DIFmDiSD9qc/ZuF5I/iA1ghBK+f3niOnbfYFrk geek@node01
The key's randomart image is:
+---[RSA 2048]----+
|+.               |
|...              |
| o.o o           |
|+.+ o .          |
|oO +  .oS        |
|o.*..oo=.        |
|  o. .==+        |
| . =++EB.        |
|  ++B=**+.       |
+----[SHA256]-----+

注:

サイズやタイプなど、ssh-keygen でオプションを指定できます。 man ssh-keygen の詳細

-b ビット
作成する鍵のビット数を指定します。 RSA キーの場合、最小サイズは 768 ビットで、デフォルトは 2048 ビットです。一般に、2048 ビットで十分と考えられています。 DSA キーは、FIPS 186-2 で指定されているとおり、正確に 1024 ビットでなければなりません。

-t タイプ
作成するキーのタイプを指定します。可能な値は、プロトコル バージョン 1 の場合は「rsa1」、プロトコル バージョン 2 の場合は「dsa」、「ecdsa」、または「rsa」です。

3. 新しいキーは /home/geek/.ssh にあります .キーが作成された .ssh ディレクトリに移動し、確認します:

$ cd .ssh
$ ls
id_rsa id_rsa.pub

4. 公開鍵をターゲット サーバー (node02) にコピーします

$[geek@node01 .ssh]$ ssh-copy-id -i id_rsa.pub geek@node02
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
The authenticity of host 'node02 (192.168.1.12)' can't be established.
ECDSA key fingerprint is SHA256:PJplQZl2GQqpoJDK7d4nubIP65/A6YyKBGSSaObvzXo.
ECDSA key fingerprint is MD5:a1:53:e6:d8:9a:71:47:ba:86:a1:d5:d2:25:4c:7c:3b.
Are you sure you want to continue connecting (yes/no)? yes
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
geek@node02's password:

Number of key(s) added: 1

Now try logging into the machine, with "ssh 'geek@node02'"
and check to make sure that only the key(s) you wanted were added.

5. 次に、キーをテストします。ターゲット サーバーに直接ログインする必要があります。

[geek@node01 .ssh]$ ssh geek@node02
[geek@node02 ~]$

注:サーバーに openssh-clients パッケージがインストールされていない場合は、別の代替手段になります:

$ cat id_rsa.pub | ssh user@node02 "cat >> ~/.ssh/authorized_keys"


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

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

  3. CentOS / RHEL :SSH ログインを時間帯で制限する方法

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

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

  3. Linux で SSH の「公開/秘密鍵」ログイン用の SSH キーをセットアップする方法

  1. CentOS7でSSHキーを生成および設定する方法

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

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