LoginSignup
171
188

More than 1 year has passed since last update.

GitLabにSSHで接続するまでの手順

Last updated at Posted at 2018-06-05

概要

職場の環境にGitLabが仮設置されたのですが、HTTP接続ではPushのたびに毎回パスワードを聞かれ煩わしいので、SSH接続を利用してパスワード入力なしでpush出来るようにしました。今回、そのための手順をまとめてみた。

環境

Server:GitLab Community Edition 10.7.3
Client:Git Bash(Git for Windows 2.17.1)
Client OS:Windows10(1803)

手順

概略としてはSSHキーの鍵ペア(公開鍵と秘密鍵)を作成し、公開鍵をGitLabに登録。秘密鍵を使ってクライアントからGitLabにアクセスするという手順になります。

  • GitLabにユーザー登録、プロジェクト追加(割愛)
  • Git Bashのインストール(割愛)
  • SSHキーの作成
    • sshキーファイルを格納するフォルダに移動
      $ cd ~/.ssh
    • sshキーを作成
      $ ssh-keygen -t [鍵タイプ] -f [ファイル名]

$ ssh-keygen -t rsa -f gitlab_rsa

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):   // パスワード不要ならすぐリターン
Enter same passphrase again:
Your identification has been saved in gitlab_rsa.
Your public key has been saved in gitlab_rsa.pub.
The key fingerprint is:
SHA256:XZhiuvhCcZYuGVK6loKtMQGYY0+KfY2VHuXWiuAF6tE
The key's randomart image is:
+---[RSA 2048]----+
|..  .  o.        |
// 省略
|     ..          |
+----[SHA256]-----+

  • GitLabにSSHキーの公開鍵を登録

    • C:\Users\hoge\.ssh\gitlab_rsa.pubをエディタで開き、すべての内容をコピーする。
    • GitLabの[User Settings-SSH Keys]を開き、[Key]に公開鍵の内容を貼り付ける。
    • [Title]に適当な名前を付けて[Add key]を押す
      gitlab-ssh.png
  • GitLabアクセス時のSSHキーを設定

    • ~/.ssh/configファイルにGitLabで使用するSSHキーを記述する。
    • configファイルがなければconfigファイルを作成
      $ touch config

Host local-gitlab  // ホスト
    HostName local-gitlab  // ホスト名
    User hoge // ユーザー名
    IdentityFile ~/.ssh/gitlab_rsa // 秘密鍵ファイル
  • GitLabからクローンする 作業ディレクトリに移動して、次のコマンドを入力するとリポジトリがクローンされる
    $ git clone git@gitlab:/test.git
$ git clone git@gitlab:<username>/test.git
Cloning into 'test'...
remote: Counting objects: 13, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 13 (delta 3), reused 0 (delta 0)
Receiving objects: 100% (13/13), done.
Resolving deltas: 100% (3/3), done.
  • GitLabにプッシュする
    $ touch sample
    $ git add sample
    $ git commit -m"add sample"
    $ git push
$ git push
Counting objects: 2, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 228 bytes | 228.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0)
To gitlab:<username>/test.git
   52a6236..91052a0  develop -> develop
171
188
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
171
188