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

SSH公開鍵をサーバーに追加する方法

公開鍵認証を使用すると、パスワードなしでSSH経由でサーバーにアクセスできます。公開sshキーをサーバーにコピーする2つの方法を次に示します。

SSHの基本的な概念を理解していると思います。 Linuxサーバーでsshが有効になっています。パソコンでsshキーを生成しました。次に、公開鍵をサーバーの承認済み鍵にアップロードして、アカウントのパスワードを常に入力しなくてもアクセスできるようにします。

このクイックチュートリアルでは、公開SSHキーをサーバーに追加する2つの方法を示します。

要件

それを見る前に、あなたがすでに持っているべきものについて明確にしましょう:

  • 宛先サーバーでsshが有効になっている必要があります
  • 公開および秘密のsshキーを生成する必要があります(コマンド ssh-keygen -t rsaを使用するだけです。 )
  • サーバーにユーザーアカウントとパスワードが必要です。 rootアカウントでもかまいません。
  • サーバーのIPアドレスを知っている必要があります

上記の4つの要件を確認したので、公開鍵認証の使用方法を見てみましょう。

認証はユーザーベースごとに行われるため、公開鍵は目的のユーザーの自宅に配置されます。

方法1:sshキーをサーバーに自動的にコピーする

最初の方法は、エンドユーザーが自分のパソコンの公開鍵をリモートサーバー上の許可された鍵のリストにコピーする方法です。

ここでは、[email protected]_of_serverを使用してリモートサーバーにログインできたと想定しています。アカウントのパスワードを要求され、サーバーに入ります。

サーバーに公開鍵を追加すると、パスワードを常に入力しなくてもログインできるようになります。

OpenSSHは、ssh公開鍵をリモートシステムにコピーするためのssh-copy-idと呼ばれる便利なツール呼び出しを提供します。必要なディレクトリやファイルも作成します。

前述したように、公開鍵認証を介してアクセスするサーバーのユーザー名とパスワードを知っておく必要があります。

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]_ADDRESS_OF_THE_SERVER

プロンプトが表示されたら、リモートサーバーのユーザーアカウントのパスワードを入力します。公開鍵は、リモートサーバーの適切なフォルダーに自動的にコピーされます。

公開sshキーのデフォルトの場所である〜/ .ssh/id_rsa.pubを使用しました。他の場所にある場合は、上記のコマンドで使用する必要があります。

方法2:公開sshキーをサーバーに手動でコピーする

最初の方法では、ユーザー側でアクションを実行しました。あなたがシステム管理者であり、サーバーがパスワードによるSSHログインを許可していないとします。サーバーにアクセスする唯一の方法は、SSH公開鍵認証を使用することです。

このような場合、エンドユーザーに公開鍵の提供を依頼できます。ここでできることは、.ssh / authorized_keysディレクトリを作成してから、ここに公開鍵をコピーすることです。

手順を示しましょう。

ステップ1:公開鍵を取得する

次のコマンドを入力して、エンドユーザーに公開鍵を提供するように依頼します。

cat ~/.ssh/id_rsa.pub

ssh-rsaで始まる長いランダムな文字列が表示されます:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP [email protected]

このテキストは、電子メールまたはメッセージングツールを介して取得できます。通常、問題はありません。

ステップ2:ユーザーのホームディレクトリに(sysadminとして)sshディレクトリを作成します)

これらの新しいディレクトリとファイルは、自分のディレクトリ(root / sysadmin)ではなく、エンドユーザーのホームディレクトリに作成する必要があることに注意してください。

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys

次に、この/home/user_name/.ssh/authorized_keysファイルをVimなどのテキストエディターで開き、ユーザーの公開鍵をここに追加します:

vim /home/user_name/.ssh/authorized_keys

ファイルを保存して閉じます。ほぼ準備ができています。

ステップ3:ファイルに適切な権限を設定します

sshファイルに適切なファイル権限を設定することは非常に重要です。そうしないと、権限が拒否されました(公開鍵)などのエラーが表示されます。

まず、正しいファイル権限を設定してください:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys

これらのファイルは、他のユーザーのrootまたは独自の管理者アカウントで作成しました。ユーザーの所有権を変更する必要があります:

chown -R username:username /home/username/.ssh

これで、エンドユーザーにサーバーへのログインを依頼できます。

問題が発生した場合、またはこのトピックに関する提案がある場合は、お知らせください。


Linux
  1. SSHキーを設定する方法

  2. plinkとcmdと公開鍵を使用してsshサーバーに接続する方法

  3. 別のサーバーを使用してサーバーにSSH接続する方法は??

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

  2. SSHが安全な通信を確立する方法

  3. Ssh –プライベートSshキーが与えられた場合、公開キーを回復するにはどうすればよいですか?

  1. LinuxでSSH公開鍵と秘密鍵を設定する方法

  2. PleskサーバーでSSHキーを設定する方法

  3. cPanelSSHアクセス用のSSHキーを追加する方法