Gitlabのリポジトリをsshでクローンする手順
概要
Gitlabにsshで接続する場合のhostを作成して接続する方法の記事はありましたが、hostの作成をしない記事があまりないと思ったため、リポジトリのクローンも含めて、自分のアーカイブとして作成します。
前提条件
- Gitlabのアカウントが作成済みであること。
- Gitがインストール済みであること。
環境/使用ツール
- server : gitlab community edition v17.2.1
- client : Windows PowerShell 5.1.1
- client OS : Windows 10 Home
手順
sshの鍵のペア(公開鍵・秘密鍵)を作成し、公開鍵をGitLabに登録する。
そして秘密鍵を使ってクライアントからGitLabにアクセスしてリポジトリをクローンする。
sshkeyの作成
- Cドライブ直下に
.ssh
ディレクトリの有無を確認する。なければ作成する。
*他の場所で作成するとうまくいかなかったため、上記が正攻法。
ls ~/.ssh
- ssh接続に必要なkeyを作成するコマンドを流す。
$ ssh-keygen -C "hogehoge"
*オプションで-f hogehoge_rsa
のようにファイル指定すると、configの作成やhostの記述追加が必要になる模様。その場合作成されるファイルが下記になる。この場合でももちろん接続は可能であるが、configやhostの作成を間違えるとエラーの原因になり少々手間に感じる。
hogehoge hogehoge.pub
そのためオプションは付けずにコマンドを流す。このようにすることでデフォルトで設定されているホストを参照する模様。また-C "hogehoge"
はコメントを指定する(デフォルトは「ユーザー名@ホスト名」)。【今回は自分の作成したファイルを簡単に特定するために使用】
コマンドを流すと、パスワードの設定を求められるが、特に必要の無い場合はそのままEnter。再度パスワードを求められるためこの場合もEnter。
そして下記が作成されるファイルになる。
id_rsa id_rsa.pub
3.cat
コマンドでid_rsa.pubのファイルを開き、中身をすべてコピーしておく。
cat id_rsa.pub
*こちらが自分が作成したものかを判断するにはファイル内部の最後部にオプションで渡したコメントが表示される。
Gitlabに公開鍵を登録する。
4.Gitlabのプロジェクトページ > アイコン部分をクリック > 設定 > sshキー > 新しいキーを追加
まで移動する。
5.キーのテキストボックス内にコピーした公開鍵を貼り付ける。
6.「タイトル」「使用タイプ」「有効期限」を設定してキーの追加を押下。
Gitlabからsshを使用してリポジトリをクローンする
7.git
コマンドを使用してリポジトリをクローンする。
git clone ssh://git@gitlab.com/hoge/hogehoge.git
Cloning into 'hogehoge'...
remote: Enumerating objects: 79, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 79 (delta 8), reused 3 (delta 3), pack-reused 46 (from 1)Receiving objects: 49% (39/79)
Receiving objects: 100% (79/79), 39.68 KiB | 2.83 MiB/s, done.
Resolving deltas: 100% (8/8), done.
上記のような表示になればクローン成功。
割愛
下記については検索で多くヒットするため、割愛。
- Gitlabへのログイン、プロジェクト作成。
- Linuxコマンドについて。
- .sshディレクトリがない場合について。
- sshkey作成時に新たにhostを作成する場合について。
引用元
Discussion