Help us understand the problem. What is going on with this article?

【秘密鍵/公開鍵】コピペで出来る!鍵認証の設定方法

More than 1 year has passed since last update.

公開鍵と秘密鍵とは

ざっくりと。

公開鍵

サーバー側に持たせておく鍵。
作ったときには「id_rsa.pub」という名前で作成され、
基本的には「authorized_keys」という名前にリネームする。
複数の公開鍵を作る場合は、authorized_keysに追記していく。

秘密鍵

クライアント側で保有しておく鍵。
誰にも渡してはいけない。

鍵を作る

では、実際に鍵を作ってみる。

その1:sshでサーバにつなぐ

まずは、クライアント側からサーバにパスワード認証でリモートログインします。
それか、サーバ側で直接操作します。

クライアントからsshでつなぐコマンドは

command
$ ssh [ログインユーザID]@[サーバアドレス]

例:$ ssh hogehoge@example.com

01.png

です。
サーバ側で直接操作する場合は、この操作はスキップします。

その2:鍵を作る

ではサーバ側で鍵を作りましょう。

command
$ ssh-keygen -t rsa 

実行するとパスワードを聞かれますが、基本的にEnterを押してスキップして大丈夫です。
このパスワードは、鍵ファイル自体にかけるパスワードです。

これで、サーバ側の.sshフォルダの中に、
id_rsa(秘密鍵)とid_rsa.pub(公開鍵)というファイルが作成されます。

その3:公開鍵の設定

先に以下のことを押さえておいてください。


  • 公開鍵(authorized_keys)のパーミッションは600に!
  • .sshフォルダのパーミッションは700に!
  • id_rsa.pubをauthorized_keysに結合したら、id_rsa.pubは消す!

なので、以下のコマンドを実行します。

command
$ cd ~/.ssh/
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ chmod 700 ~/.ssh
$ rm id_rsa.pub

その4:秘密鍵をクライアントへ転送

今度は、クライアント側のPCで操作をします。
サーバで直接操作をしている人は、USBか何かで、~/.ssh/id_rsaファイルをクライアントPCに移動します。

リモート操作の方は、以下のコマンドをに実行します。

command
$ logout
$ scp [サーバのユーザID]@[サーバのアドレス]:~/.ssh/id_rsa ~/.ssh/

例:$ scp hogehoge@example.com:~/.ssh/id_rsa ~/.ssh/

02.png

これでid_rsaファイルがクライアントPCの.sshフォルダにダウンロードされます。

その5:クライアント側で秘密鍵の設定

先に以下のことを押さえておいてください。


  • 秘密鍵(id_rsa)のパーミッションは600に!
  • .sshフォルダのパーミッションは700に!
  • id_rsaファイルは半角英数の好きな名前に変更して良い!

ということなので、以下のコマンドを実行します。

command
$ cd ~/.ssh/
$ chmod 600 id_rsa
$ mv id_rsa [好きな名前]
$ chmod 700 ~/.ssh

その6:鍵認証でサーバにアクセスしてみる

sshコマンドでサーバに鍵認証を使って接続してみます。
鍵の作成・設定が成功していると、パスワードを求められずに接続できます。

command
$ ssh –i ~/.ssh/[鍵の名前] [ログインユーザID]@[サーバアドレス]

例:$ ssh -i ~/.ssh/example_server hogehoge@example.com
nnahito
BASIC言語をこよなく愛するperlスクリプター! 最近ではPHPを主に利用するWeb系の会社で働いてます。 P言語(perl、Python、PHP)と呼ばれる言語が大好きです。 色々備忘録のごとく記事を書きたいと思います。 よろしくお願い致します。 ちなみにおっさんです。
https://nnahito.com
nim-in-japan
Nim言語の日本コミュニティです。
https://nim-lang.org/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした