#SSH認証
「GitLab」では、「SSH認証キー(公開鍵)」を登録することで、「SSH認証」が可能となる。
従来の「パスワード認証」と比べると、事前準備が必要となるのでやや大変ではあるのだが、「SSH認証」は「GitLab」に登録した「公開鍵」と対になる「秘密鍵」を持っているユーザのみがアクセスできるという方式なので、より安全な認証ができる。
私は「GitLab」を使うなら「SSH認証」をお勧めしたい。
一度「SSH認証キー(公開鍵)」を登録してしまえば、後々の運用が楽だというのも理由にある。
まずは、「SSH認証キー」を作成することからはじめよう。
#SSH認証キーを作成する
「SSH認証キー」を作成するには、「PuTTYgen」という「キー・ジェネレータ・アプリ」を使う。
もし今現在Gitクライアントに「TortoiseGit」を使っているのなら、以下の通り既に「PuTTYgen」は持っているので、それを使おう。
「PuTTYgen」を起動したら、何も設定を変更せずに、いきなり「Generate」ボタンをクリックする。
すると「キーの生成」がはじまるので、生成が完了するまで「blank area」の上でひたすらマウスをグルグルしまくろう。
グルグルしまくらないと、いつまでも完了しない……。
#SSH秘密鍵を保存する
キーの生成が完了したら、まずは「Save private key」ボタンをクリックして、「秘密鍵」を保存する。
「Key passphrase(パスワード)」を未設定なので以下のアラートが表示されるが、「Key passphrase(パスワード)」を設定するかどうかはお好みで構わない(もちろん設定した方がセキュアである)。
私は敢えて「Key passphrase(パスワード)」を設定しなかったので、「はい」をクリックした。
「秘密鍵」の保存先だが、後々の煩雑さを考えて、なるべく「ユーザのホームフォルダ」に「.ssh」というフォルダを新規作成して、そこに保存すること。
例えば私なら、「ユーザのホームフォルダ」は「C:\Users\cutboss\
」なので、ここに「.ssh」フォルダを新規作成して、「C:\Users\cutboss\.ssh\
」に「秘密鍵」を保存することになる。
「秘密鍵」のファイル名は別に何でも構わないのだが、やはり、後で自分自身が識別し易い分かり易い名前にしておくべきだと思う。
なので、私は「id_rsa_gitlab_cutboss.ppk」というファイル名で、「秘密鍵」を上記の「.ssh」フォルダに保存した。
「秘密鍵」は「秘密」というだけあって非常に重要なものなので、とにかく流出させないように厳重に注意して、それでも流出させてしまったら、面倒だが、安全の為にすぐに認証キーを全て作り直すように。
#SSH公開鍵を保存する
さて、「公開鍵」だが、「Save public key」ボタンから保存しないこと!!!
そうすると困ったことに、必要のない余計な情報が「公開鍵」の中に含まれてしまうから。
「公開鍵」として必要なのは、「Public key for pasting into OpenSSH authorized_keys file:」以下の領域内だ。
その領域内を全てコピーして、テキストエディタ(秀丸エディタ)などで新規作成した空ファイルにそれをペーストする。
「*.pub」という拡張子のファイル名(私の場合は「id_rsa_gitlab_cutboss.pub」)にして、こちらも「秘密鍵」と同じ「.ssh」フォルダへ保存する。
誤って「Save public key」してしまうと後々ハマるので、ここは気をつけよう。
#OpenSSHキーを保存する
「秘密鍵」と「公開鍵」は揃ったのだが、「GitLab」との**SSH接続テスト**で「OpenSSHキー」が必要になる。
なので、「Conversions」から「Export OpenSSH key」も選択する。
こちらも「秘密鍵」「公開鍵」と同じ「.ssh」フォルダへ保存するのだが、ファイル名には、敢えて拡張子を付けないようにする。
これで、ここまでで保存した「SSH認証キー」は、全部で、
- SSH秘密鍵 (id_rsa_gitlab_cutboss.ppk)
- SSH公開鍵 (id_rsa_gitlab_cutboss.pub)
- OpenSSHキー(id_rsa_gitlab_cutboss)
の三鍵になった。
#SSH認証キー(公開鍵)を登録する
これで各種「SSH認証キー」は用意できたので、「GitLab」に「SSH認証キー(公開鍵)」を登録しよう。
#関連記事
#参考記事