「セキュアシェル」とも呼ばれる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ホスティングで今すぐお試しください。