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

Ubuntu16.04でSSHキーを設定する方法

Ubuntu16.04でSSHキーを設定する方法を紹介します。 SSHまたはSecureSHELLは、最も一般的で信頼できるUNIXベースの暗号化ネットワークプロトコルです。これは、安全なデータ通信、リモートサーバーログイン、リモートコマンド実行、および2つのネットワークサーバー間の他の多くの安全なネットワークサービスに使用できます。通常、パスワード認証はSSH経由でリモートサーバーに接続するために使用されますが、このチュートリアルでは、SSHキーを使用してUbuntu16.04VPSにログインする方法を示します。キーペア(秘密キーと公開キー)を生成し、秘密キーをサーバーに配置してから、ローカルに保存されている秘密キーを使用してサーバーにアクセスします。この方法では、パスワードを使用するだけでなく、サーバーに接続するためのより安全な方法が提供されます。

このチュートリアルでは、LinuxとWindowsの両方のオペレーティングシステムでSSHキーペアを生成する方法についても説明します。

1。 Ubuntu16.04でのSSHキーの生成

SSHキーペアを生成するには、ローカルのUbuntu16.04ベースのコンピューターのターミナルから次のコマンドを実行するだけです。

ssh-keygen

Enterキーを押すだけで、すべての質問にデフォルト値を残すことができます。オプションで、パスフレーズを設定してセキュリティのレイヤーを追加することもできます。必要がない場合は、Enterキーをもう一度押します。

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:2QB/eJ39/4N7Q3PRSghNJmglX6hh2pSqQ3uGHhfd7Og root@rosehosting
The key's randomart image is:
+---[RSA 2048]----+
|       . .+o++   |
|       oB+o=.o   |
|       O+=+.o.. .|
|    . + +*o . .o.|
|   . + .So.  . .o|
|    * + . .   .oo|
|   . * .      o +|
|     .   E   . +.|
|             .o +|
+----[SHA256]-----+

これにより、ローカルシステムの/root/.ssh/ディレクトリに2048ビットの秘密鍵と公開鍵(id_rsaおよびid_rsa.pub)が作成されます。

ssh-copy-idを使用して公開鍵をUbuntu16.04サーバーにアップロードします

次のステップでは、生成された公開鍵をリモートのUbuntuサーバーにアップロードする必要があります。これを行うには複数の方法があります。

最も簡単な方法は、 ssh-copy-idを使用することです。 効用。これを機能させるには、パスワード認証を使用してSSH経由でサーバーに接続できる必要があります。

次に、次のコマンドを使用して、公開鍵をリモートサーバーにアップロードできます。

ssh-copy-id root@remote_server

ユーザーパスワード(この例ではrootパスワード)を入力するように求められ、Enterキーを押します。接続が確立されると、id_rsa.pub(公開鍵)の内容がリモートサーバーの/ root / ssh/authorized_keysファイルにコピーされます。

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

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'root@remote-host'"
and check to make sure that only the key(s) you wanted were added.
>

これで、SSHキーを使用してUbuntuサーバーに対して認証できるようになります。

公開鍵をUbuntuサーバーに手動でアップロードする

ssh-copy-idの場合 システムでツールを使用できない場合は、サーバーにログインして手動で行うことができます。

まず、SSH経由でサーバーに接続します:

ssh root@remote_server

接続したら、次のコマンドを使用して、リモートサーバー上に新しい.sshディレクトリを作成する必要があります。

mkdir /root/.ssh

次に、公開鍵をリモートサーバーのauthorized_keysファイルにコピーする必要があります。 nanoテキストエディタを使用して、公開鍵のコンテンツを作成してから追加できます。

nano /root/.ssh/authorized_keys

SSH構成ファイルも開く必要があります:

nano /etc/ssh/sshd_config

次の行が存在し、コメントされていないことを確認してください。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

変更を保存してSSHサービスを再起動します:

systemctl restart ssh

それでおしまい。これ以降、リモートサーバーに接続しようとするたびにSSHキーを使用するようになります。

2。 PuTTYおよびPuTTYGenを使用したWindowsベースのシステムでのSSHキーの生成

ローカルマシンでWindowsオペレーティングシステムを使用している場合は、SSH経由でサーバーに接続するためのPuTTYとSSHキーを生成するためのPuTTYgenが必要になります。こちらからダウンロードできます(https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)。

SSHキーを生成するには、先に進んでコンピューターでPuTTYGenを起動します。

下部で、生成されたキーのビット数を選択できます。 4096と入力し、[生成]をクリックします。マウスの動きの入力に基づいて一意のキーを生成するために、PuTTYgen画面の空白の領域上でマウスの動きを開始します。

緑のプログレスバーが塗りつぶされると、公開鍵が生成されます。それらのキーをコピーして、コンピューターの.txtファイルに保存できます。

秘密鍵を保存するには、[秘密鍵の保存]ボタンをクリックする必要があります。さらに、秘密鍵の鍵パスフレーズを設定することもできます。

これで、PuTTYを開き、秘密鍵の場所を割り当てることができます。[接続]メニューの[SSH]をクリックしてから、[認証]をクリックします。参照ボタンをクリックして、保存した秘密鍵ファイルの場所を入力します。

次に、公開鍵をサーバーにアップロードする必要があります。これを行うには、[セッション]をクリックし、サーバーのIPアドレスとSSHポート番号を入力し、[接続の種類]で[SSH]を選択して、[開く]をクリックします。

ユーザー名とパスワードの入力を求められます。 rootパスワードを使用して、ユーザーrootとしてログインできます。

サーバーにログインしたら、最初に.sshディレクトリを作成します。

mkdir /root/.ssh

次に、.sshディレクトリ内にauthorized_keysファイルを作成し、このファイル内に公開鍵の内容を追加します。

nano /root/.ssh/authorized_keys

次のコマンドを使用して、サーバーでSSH構成ファイルを開くこともできます。

nano /etc/ssh/sshd_config

次の行が存在し、コメントが付けられていないことを確認してください。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

変更が加えられた場合は、次のコマンドでsshdサービスを再起動することを忘れないでください。

systemctl restart ssh

これにより、SSHキーが正常に構成されました。これで、サーバーから切断してPuTTYを終了できます。次回サーバーに接続しようとすると、PuTTYは接続を確立するために設定した公開鍵を使用します。

3。パスワード認証を無効にする

上記のいずれかの方法を使用してSSHキーを正常に構成し、SSHキーベースの認証を使用してサーバーにログインできることを確認したら、サーバーへのパスワードベースの認証を無効にできます。これにより、セキュリティの層が追加され、サーバーに対するすべてのブルートフォース攻撃が防止されます。

パスワードベースの認証を無効にするには、次のコマンドでSSH構成ファイルを開きます。

nano /etc/ssh/sshd_config

そして、次の行のコメントを外し、その値を「no」に設定します。

PasswordAuthentication no

次のコマンドでsshdサービスを再起動します:

systemctl restart ssh

That’s it. You have successfully set up SSH keys on your Ubuntu 16.04 VPS.

もちろん、Ubuntu 16.04 VPSでSSHキーを設定する必要はありません。Ubuntuホスティングサービスのいずれかを使用している場合は、専門のLinux管理者にSSHキーの設定を依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。

PS 。この投稿が気に入った場合は、下のボタンを使用してソーシャルネットワーク上の友達と共有するか、コメントセクションにコメントを残してください。ありがとう。


Panels
  1. cPanelを使用してSSHキーを設定する方法

  2. Ubuntu18.04でSSHキーを設定する方法

  3. Debian で SSH キーを設定する方法

  1. Ubuntu18.04でSSHキーを生成する方法

  2. PleskでSSHキーを使用する方法

  3. SSHキーを設定する方法

  1. CentOS7でSSHキーを生成および設定する方法

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

  3. Debian10でSSHキーを生成および設定する方法