テックブログ

SSHで公開鍵認証のやりかた

投稿日:

はじめに

弊社ではhetemlサーバで提供されているGitを使用しています。

当然ながら複数人で使用するのですが、使用者ごとにアカウントを作成することができません。とはいえ、パスワードを複数人で使い回すのはセキュリティ面を考えると避けたいところ。

hetemlサーバ上のgitリポジトリにはsshプロトコルを利用してアクセスすることから、公開鍵認証方式を使ってアクセスしてもらうことにしました。公開鍵認証にすれば、サーバ側に使用者各自の公開鍵を置いておけばログイン時にパスワードが不要になるのでパスワードを使い回さなくてもよくなります。

では実際どうやって設定するのかを解説します。

クライアントでの作業(Mac)

ターミナルで下記コマンドを実行して、公開鍵と秘密鍵のキーペアを作成します。

$ ssh-keygen -t rsa

すると、/Users/(ユーザー名)/.ssh ディレクトリに

  • id_rsa(秘密鍵)
  • id_rsa.pub(公開鍵)

上記ファイル名で秘密鍵と公開鍵が作成されます。

.sshディレクトリは隠しディレクトリなので、Finderでは表示されません。cpコマンドで公開鍵ファイルをデスクトップあたりにコピーしておきましょう。

$ cp ~/.ssh/id_rsa.pub ~/Desktop

公開鍵をサーバに置いておくので、公開鍵ファイルをftpsでサーバにアップしましょう。

hetemlサーバでの作業

サーバにsshで接続したら、公開鍵ファイルを置くディレクトリを作成します。作成したディレクトリは他のユーザーが参照できないようにパーミッションを変更しておきます。

$ mkdir ~/.ssh
$ chmod go-wrx ./.ssh

ディレクトリを作成できたら、公開鍵を下記コマンドで所定の場所に設置します。

$ cd .ssh
$ cat ~/id_rsa.pub >> authorized_keys
$ chmod go-wrx ./authorized_keys

最後にsshでサーバに接続してみて、パスワードの入力を求められずにログインできたら完了です!

-テックブログ

Copyright© プラス・ムーブメント合同会社 , 2019 All Rights Reserved Powered by AFFINGER5.