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

LinuxでパスワードなしのSSHを設定する方法

「セキュアシェル」とも呼ばれるSSHは、リモートLinuxサーバーへのログインに使用されるオープンソースプロトコルです。これは、システムおよびネットワーク管理者がリモートの場所からLinuxサーバーを管理するために使用します。また、複数のLinuxシステム間でファイルを転送するためにも使用されます。リモートLinuxシステムにログインするには、パスワード認証とキーベース認証の2つの方法があります。 Linuxにログインできるのは有効なキーを持つユーザーのみであるため、キーベースの認証はパスワードよりも安全です。

この投稿では、LinuxでパスワードなしのSSHを設定する方法を紹介します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上のLinuxサーバー
  • サーバーで構成されているrootパスワード

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu、CentOS、またはRocky Linuxを選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

apt-get update -y

または

dnf update -y

ステップ2–SSHキーを生成する

まず、作業しているマシンでSSHキーペアを生成する必要があります。

次のコマンドを使用して生成できます:

ssh-keygen -t rsa

以下に示すように、キーを保存する場所を指定するように求められます。

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

Enterキーを押して、デフォルトのパスを受け入れるだけです。以下に示すようにパスフレーズを設定するように求められます:

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

パスフレーズを入力せずにEnterキーを押すだけです。次の出力が表示されます。

Your identification has been saved in /home/vyom/.ssh/id_rsa.
Your public key has been saved in /home/vyom/.ssh/id_rsa.pub.
The key fingerprint is:
ec:50:43:d9:39:64:f8:19:63:18:ab:1c:e4:ea:f5:e7 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|      . oBo.     |
|     o .+oB      |
|      o +o =     |
|     o = .o      |
|    . = S        |
|   . . +         |
|    .   o .      |
|         o       |
|          E      |
+-----------------+

次に、次のコマンドを使用してSSHキーを確認します。

ls -la ~/.ssh/id_*.pub

次の出力が表示されます。

-rw-r--r-- 1 vyom vyom 392 Sep  8 14:34 /home/vyom/.ssh/id_rsa.pub

ステップ3–SSH公開鍵をリモートサーバーにコピーする

次に、公開鍵をリモートサーバーにコピーする必要があります。 ssh-copy-idコマンドを使用して実行できます:

ssh-copy-id [email protected]

公開鍵をコピーするために、リモートサーバーのルートパスワードを入力するように求められます:

[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.

ステップ4–パスワードなしでリモートサーバーを接続する

この時点で、SSHキーが生成され、リモートサーバーにコピーされます。これで、パスワードを入力せずにリモートサーバーに接続できます:

ssh [email protected]

接続すると、次の出力が表示されます。

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Last login: Wed Sep  8 07:50:27 2021 from 106.222.86.57
[email protected]:~# 

ステップ5–パスワードベースの認証を削除する

この時点で、SSHキーベースの認証は正常に構成されています。現在、パスワード認証の使用を無効にして、全員がサーバーへのアクセスにキーのみを使用するようにすることをお勧めします。

リモートLinuxサーバーで、SSHメイン構成ファイルを編集します。

nano /etc/ssh/sshd_config

コメントを外して、次の行を変更します:

PasswordAuthentication no

ファイルを保存して閉じてから、SSHサービスを再起動して変更を適用します。

systemctl restart ssh

結論

上記のガイドでは、LinuxでSSHパスワードなしの認証を設定する方法を学びました。これで、リモートで管理するサーバーごとにSSHキーベースの認証を実装できます。 Atlantic.NetのVPSホスティングで今すぐお試しください。


Linux
  1. Linux でリバース SSH トンネルをセットアップする方法

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

  3. Linux サーバーから Windows クライアントに SCP する方法

  1. AndroidからLinuxでSSH接続する方法

  2. Ubuntu 22.04JammyLinuxでSSHサーバーを有効にする方法

  3. LinuxサーバーにcPanelをインストールしてセットアップする方法

  1. LinuxでSSHを使用してパーソナルファイルサーバーを作成する方法

  2. Redhat7Linuxサーバーで名前付きDNSサービスをセットアップする方法

  3. Redhat7LinuxでvsftpdFTPファイルサーバーをセットアップする方法