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

3つの簡単なステップでパスワードなしのSSHログイン

SSH(セキュアシェル) は、ユーザーがリモートのLinuxシステムやその他のネットワークデバイスに安全にログインできるようにする安全なオープンソースネットワークプロトコルです。さらに、このプロトコルは、セキュアコピー(SCP)プロトコルを使用したLinuxシステム間のファイル転送に使用されます。 。

通常、SSHはログイン前にユーザーにパスワードの入力を求めます。ただし、Linuxシステムから別のリモートLinuxシステムへのSSHパスワードなしログインを構成できます。これにより信頼性が高まり、SCPプロトコルを使用してリモートでファイルをバックアップする必要があるcronジョブで役立ちます。

このガイドでは、sshキーを使用してパスワードなしのSSHログインを設定し、2台のサーバー間の信頼を高める方法を学習します。

環境のセットアップ


ssh client      : 66.152.163.19 (Ubuntu 18.04)

ssh remote Host : 173.82.2.236  (CentOS 7)

クライアントシステムでSSHキーを生成します(66.152.163.19)

パスワードなしのログインを設定する最初のステップは、クライアントシステムでssh認証キーを生成することです。 SSHキーは、Linuxシステム間の信頼を確立するデジタルキーです。

sshキーを生成するには、コマンドを実行します。

$ ssh-keygen

キーを保存するファイルの入力を求められます。 [Enter]キーを押して、デフォルトの場所のディレクトリ(/root/.ssh)に保存します

Enter file in which to save the key (/home/user/.ssh/id_rsa):

Enterキーを押します。

次に、パスフレーズの入力を求められます。これはパスワードなしのログインを設定しています。スキップするには「Enter」を2回押してください。


Enter passphrase (empty for no passphrase):
Enter same passphrase again:

どちらの場合も「Enter」を押してください。

完全な出力を以下に示します。

サンプル出力

ssh-keygen コマンドは公開と秘密の両方のsshキーを生成し、それらを/root/.sshに保存します ディレクトリ。

実行を確認するには:

ls /root/.ssh

サンプル出力

公開鍵はid_rsa.pubで示されます 。

秘密鍵はid_rsaで示されます 。

ssh公開鍵をリモートシステムにコピーする(173.82.2.236)

次のステップは、公開鍵をリモートLinuxサーバーにコピーすることです。これは、ssh-copy-idを使用して実現されます 以下に示すコマンド。

ssh-copy-id remote_username@server_ip_address

この例では、コマンドは次のようになります。

ssh-copy-id [email protected]

接続を続行するかどうかを確認するメッセージが表示されます。 yesと入力します 「Enter」を押します

The authenticity of host '173.82.2.236 (173.82.2.236)' can't be established.
ECDSA key fingerprint is SHA256:U4aOk0p30sFjv1rzgh73uhGilwJ2xtG205QFqzB9sns.
Are you sure you want to continue connecting (yes/no)? yes

次に、リモートシステムのパスワードの入力を求められます。パスワードを入力して[Enter]キーを押します

[email protected]'s password:

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.

完全な出力を以下に示します。

ssh公開鍵は/root/.ssh/authorized_keysに保存されます リモートシステム上のファイル。

リモートシステムへのログイン

公開sshキーをリモートシステムにコピーすると、図のようにパスワードの入力を求められることなくログインできるようになります。

ssh server-ip-address

私たちの場合、これは次のようになります:

ssh 173.82.2.236

これが、クライアントLinuxシステムからリモートLinuxサーバーへのパスワードなしのSSHセットアップをセットアップする方法です。

  • クライアントシステムから公開鍵を削除します。秘密鍵が危険にさらされていると思われる場合は、リモートサーバーから公開鍵を削除して、再度設定してください。
  • 上記のSSHコマンドは、両方のサーバーでrootユーザーを使用しているため、ユーザーIDを指定しなくても機能します。他のユーザーにパスワードなしのログインを設定している場合は、SSHコマンドでもそのログインを指定してください。

Linux
  1. パスワードなしでRHEL7サーバーにSSHログイン

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

  3. 公開鍵と秘密鍵のペアを使用したパスワードなしのSSH

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

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

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

  1. ssh-keygen と ssh-copy-id を使用してパスワードなしで SSH ログインを実行する 3 つの手順

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

  3. パスワードなしのキーを使用して SSH ログインが機能しませんか?