概要概要
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