Linuxは、他のサーバーへのSSHパスワードなしのログインを実現します

概要概要

Rsyncは、複数のマシンが同期されるたびにターゲットサーバーのパスワードを入力する必要があります。これは非常に面倒です。SSHを使用して、パスワードなしのログインを実現できます。

Xshellの原理

Xshellを介してLinuxサーバーに接続するたびに、ユーザー名、パスワード、およびホスト名を入力する必要があります。接続するたびにパスワードを入力する必要はありません。初めて接続するときにのみ、パスワードを入力する必要があります。

実際、最初に接続するときは、実際には信頼を確立するプロセスです。実際、サーバーは保存するためのキーを生成します。

例えば

マシンAのユーザーaは、ユーザーBのIDを使用して、マシンAのマシンBにログインしようとしています。次の操作が必要です。

手順:
①マシンAのユーザーaは、マシンAでキー
シェルコマンドのペアを生成します。

ssh-keygen -t rsa

ssh-keygenはキーを生成することを意味し、rsaはキーを生成するアルゴリズムの名前です。

②生成された鍵は公開鍵と秘密鍵に分けられます。ユーザーaは公開鍵をマシンBのユーザーbのホームディレクトリにあるauthorithxxxx_keysファイルにコピーする必要があります。コピーする
方法は2つあります
方法2を直接使用することをお勧めします。これは単純で失礼です。方法1は理解するだけです。
方法1:
a)ユーザーbを使用してマシンBにログインします
。b)authorithxxxx_keysを編集し、公開キーの内容を追加します。
方法2:
上記の手順はマシンAで行い、ユーザーaを使用して次のコマンドを実行します。ssh- copy-id b @ Bは、上記の2つのステップを完了することができます

③マシンAのユーザーaはsshb @ Bでログインできます。

デモ

デフォルトでは、ログインするにはパスワードが必要です。

[root@zjj101 demo]# ssh root@zjj102
root@zjj102's password: 
Last login: Thu Oct 15 09:37:00 2020 from 172.16.10.182
[root@zjj102 ~]# ^C
[root@zjj102 ~]# exit
登出
Connection to zjj102 closed.
[root@zjj101 demo]# 

公開鍵と秘密鍵を生成し、デフォルトでコンテンツを括弧で囲んで保存します。Enterキーを3回押すだけです。

[root@zjj101 demo]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:36l76tMgE8NF4emz1eg1Cdpja1S3u8kiOSoT3LjgM2E root@zjj101
The key's randomart image is:
+---[RSA 2048]----+
|         .o.     |
|         ...     |
|       . .o . . .|
|        +. o = o.|
|      . So+ B =. |
|     E +oo.O = ..|
|    o o ooooB  . |
|     + +  .*o.. o|
|      o oo*=o .+ |
+----[SHA256]-----+
[root@zjj101 demo]# 

ディレクトリは非表示のディレクトリです。アクセス
して表示する必要がある場合は、ls -alを使用して表示するか、
/ root / .ssh /に直接cdする必要があります。

[root@zjj101 demo]# cd /root/.ssh/
[root@zjj101 .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
[root@zjj101 .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq6Z1CKsbHw2nqycGXjnoxbi2l+DQt5Hnv5OmMjx8DdB1AxUBxwGZwWSMAWbqiOpbHOlOkHUgNPEXhv1AKP+Bg+W/v3w2xBgBI/YQpSTgMQCoKBzT1GNtrn3VgZ2X/k3PDzS17WCBvhO2InWAMIBhqT+ik2i+viTBYOD9AogyWoCe42zL8aTE7eQfCyzf/xMbaMd4Yll1JeRNPgYN6VzLW5LqXb3O5DHwcUsed0M659gboCRqcpARrvtXkeiZt7kyuJb2DOv6ADPINWA9iDwPYMXK44KUm3HnsnFo1yGpyVbtuDW/zZSPf5eaM0QmRGTZ2OpxWvExlzzGthUu0jRl7 root@zjj101
[root@zjj101 .ssh]# 

id_rsa秘密鍵id_rsa.pubは公開鍵です

方法2

方法1は手動でコピーする必要があり、非常に面倒です。自分でBaiduを実行する必要がある場合は、方法2を直接示すことができ
ます。ssh-copy-idxxx

[root@zjj101 .ssh]# ssh-copy-id root@zjj102
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/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
root@zjj102's password: 

Number of key(s) added: 1

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

[root@zjj101 .ssh]#

直接ログインし、以下のパスワードを入力せずにzjj102にログインします

[root@zjj101 .ssh]# ssh root@zjj102
Last login: Thu Oct 15 10:27:23 2020 from zjj101
[root@zjj102 ~]# 

書き込みが成功したかどうかを確認する
と、authorized_keysにすでにコンテンツが含まれていることがわかります。通常の状況では、上記の手順でパスワードを入力していないため、成功している必要があります。

[root@zjj102 ~]# cd /root/.ssh/
[root@zjj102 .ssh]# ls
authorized_keys
[root@zjj102 .ssh]# cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq6Z1CKsbHw2nqycGXjnoxbi2l+DQt5Hnv5OmMjx8DdB1AxUBxwGZwWSMAWbqiOpbHOlOkHUgNPEXhv1AKP+Bg+W/v3w2xBgBI/YQpSTgMQCoKBzT1GNtrn3VgZ2X/k3PDzS17WCBvhO2InWAMIBhqT+ik2i+viTBYOD9AogyWoCe42zL8aTE7eQfCyzf/xMbaMd4Yll1JeRNPgYN6VzLW5LqXb3O5DHwcUsed0M659gboCRqcpARrvtXkeiZt7kyuJb2DOv6ADPINWA9iDwPYMXK44KUm3HnsnFo1yGpyVbtuDW/zZSPf5eaM0QmRGTZ2OpxWvExlzzGthUu0jRl7 root@zjj101
[root@zjj102 .ssh]# 

パスワードなしでログインをキャンセルする

ターゲットサーバーの/root/.ssh/のauthorized_keysファイルにある関連する公開キー情報をクリアするだけです。

[root@zjj102 ~]# cd /root/.ssh/
[root@zjj102 .ssh]# ls
authorized_keys
[root@zjj102 .ssh]# cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq6Z1CKsbHw2nqycGXjnoxbi2l+DQt5Hnv5OmMjx8DdB1AxUBxwGZwWSMAWbqiOpbHOlOkHUgNPEXhv1AKP+Bg+W/v3w2xBgBI/YQpSTgMQCoKBzT1GNtrn3VgZ2X/k3PDzS17WCBvhO2InWAMIBhqT+ik2i+viTBYOD9AogyWoCe42zL8aTE7eQfCyzf/xMbaMd4Yll1JeRNPgYN6VzLW5LqXb3O5DHwcUsed0M659gboCRqcpARrvtXkeiZt7kyuJb2DOv6ADPINWA9iDwPYMXK44KUm3HnsnFo1yGpyVbtuDW/zZSPf5eaM0QmRGTZ2OpxWvExlzzGthUu0jRl7 root@zjj101

おすすめ

転載: blog.csdn.net/qq_41489540/article/details/109091590