ホームページ  >  記事  >  運用・保守  >  アカウントとパスワードを入力せずにリモート ホストに接続できるように ssh サービスを構成する方法

アカウントとパスワードを入力せずにリモート ホストに接続できるように ssh サービスを構成する方法

齐天大圣
齐天大圣オリジナル
2020-11-20 11:40:023509ブラウズ

ssh プロトコルは、アカウント名とパスワードを入力することでリモート サーバーに接続できることがわかっています。では、アカウント番号とパスワードを入力せずに直接ログインすることはできますか?答えは「はい」です。日常の仕事でも、このニーズはよくあります。たとえば、オフサイト バックアップに scp を使用し、scp を crontab に書き込みたいが、crontab にアカウントとパスワードを入力することは絶対にできない場合は、アカウントとパスワードを使用せずにログインする必要があります。

ssh は、公開キーと秘密キーを使用した非対称暗号化プロトコルです。公開キーは情報の暗号化に使用され、各ホストは、他のホストの公開キーを、自身のホーム ディレクトリの .ssh ディレクトリにある known_hosts ファイルに保存します。アカウントとパスワードを解放したい場合、重要なポイントはこの公開鍵です。

サーバー ホスト SERVER とクライアント CLIENT があり、クライアントはログインせずに SERVER に接続したいとします。次に、クライアントの公開キーを SERVER マシンの ~/.ssh/authorized_keys の末尾に追加するだけです。以下は、2 つの状況でパスワードなしでログインする方法を示しています。

  • クライアントは Windows システムです。

  • クライアントは Linux システムです。

クライアントは Windows システムです

最初のステップは、秘密鍵のペアを生成することです。 git ツールを使用して秘密キーのペアを生成します (Windows システムに git をインストールする方法。これは自分で確認できます。非常に簡単です。次の手順に従うだけです)。

ssh-keygen

git ターミナルに上記のコマンドを入力すると、一連のプロンプト メッセージが表示されるので、直接 ENTER キーを入力します (合計 3 回の ENTER キーが必要です)。その後、$HOMT/.ssh/ ディレクトリに公開鍵と秘密鍵が表示されます (pub で終わるものが公開鍵です)。

admin@LAPTOP-7P19B9SH MINGW64 ~/.ssh
$ ll
total 13
-rw-r--r-- 1 admin 197121 1679  5月  3  2019 id_rsa
-rw-r--r-- 1 admin 197121  398  5月  3  2019 id_rsa.pub

次に、公開キーをサーバーにアップロードし、公開キー情報を ~/.ssh/authorized_keys に追加します。

# cat id_rsa.pub >> .ssh/authorized_keys

次は、xshell を使用してパスワードなしでログインする方法を示しています

最初のステップは、リモート ホストの IP アドレスを入力することです

アカウントとパスワードを入力せずにリモート ホストに接続できるように ssh サービスを構成する方法

##2 番目のステップは、[ユーザー認証] をクリックし、公開キーとして方法を選択することです。次にユーザー名を入力します。ここでは root を入力します。最後に、キーを選択します。ここでは公開キーではなく秘密キーを選択する必要があることに注意してください。

アカウントとパスワードを入力せずにリモート ホストに接続できるように ssh サービスを構成する方法

これら 2 つの手順を設定すると、パスワードなしのログインが完了します。

クライアントは Linux ホストです

最初のステップでは秘密キーのペアを生成します

# 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:GCyx2cSYE6yR7xCuUVOF0Omvp5fEoxv0Y2wOQvMRB98 root@lijia
The key's randomart image is:
+---[RSA 2048]----+
|  .*=Oo          |
|  * OX..         |
| o B=.* E        |
|. + o+ o         |
| ooooo. S        |
|.. +.+=          |
|  . ++*o         |
|   .o*+.         |
|    o=.          |
+----[SHA256]-----+

2 番目のステップも同様ですステップは、生成された公開キーを別のマシンに転送することです

# ssh-copy-id root@121.***.***.64
/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@121.196.12.64's password: 
Number of key(s) added: 1
Now try logging into the machine, with:   "ssh 'root@121.***.***.64'"
and check to make sure that only the key(s) you wanted were added.

3 番目のステップは、リモート ホストにログインすることです

# ssh root@121.196.12.64
Welcome to Alibaba Cloud Elastic Compute Service !
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Fri Nov 20 10:28:37 2020 from 111.38.123.86
# 免密码登录成功

関連する技術記事の詳細については、

を参照してください。 Linux システムのチュートリアルコラム!

以上がアカウントとパスワードを入力せずにリモート ホストに接続できるように ssh サービスを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。