Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
254
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@nnahito

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

公開鍵と秘密鍵とは

ざっくりと。

公開鍵

サーバー側に持たせておく鍵。
作ったときには「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
254
Help us understand the problem. What is going on with this article?
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
254
Help us understand the problem. What is going on with this article?