53
48

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SSHでgit cloneする(gitlab)

Posted at

動機

500万回くらい書かれてると思うけどこの間も聞かれたので。

環境

Ubuntu 16.04とWindows10で確認済。
OpenSSLがインストールされている。

手順

  1. SSH keysを作る。
  2. .ssh/configを書く。
  3. 1.で作成した公開鍵をgitlabに登録する。
  4. SSHでgit cloneできた!

これだけ。

SSH keysを作る

既に存在している場合はスキップ。

ssh-keygen -t rsa -b 4096 -C "comment"

Githubの場合、コメントにはGithub登録ユーザのメールアドレスを入れると書いてある記事をよく見かけますが、gitlabでは特に入れなくても問題ないです。

.ssh/configを書く

Git Bash使ってたら〜という記事をたまに見かけるが、普通に.ssh以下にconfigを作成すればよい。最初は存在しないので新しいファイルを作成する。

vi config
host [任意の接続名]
  HostName [gitlabのホスト名またはIP]
  User [gitlabのユーザ名]
  IdentityFile ~/.ssh/[秘密鍵]
  Port [ポート番号]

gitlabのポート番号がわからない場合、gitlabのconfig/gitlab.ymlssh_portの記述があるので確認してください。デフォルトは22でよかった気がします。

公開鍵をgitlabに登録する

右上のユーザアイコンからProfile→SSH keysで開く画面に公開鍵をコピペ。

SSHできるか試す

ssh -T git@[ホスト名またはIPアドレス]

上を打ってWelcomeされればOK。あとはgit clone git://git@[ホスト名またはIPアドレス]/[グループ]/[リポジトリ].gitでできるはず。

トラブルシューティング

SSHできない(Permission Deniedなどといわれる)

デバッグすれば大体原因がわかるのでデバッグしよう

ssh -T git@[ホスト名またはIPアドレス] -vvv

SSHは通るのにgit cloneが通らない

プロトコルを変更すると通る場合があります

 git clone ssh://git@[ホスト名またはIPアドレス]/[グループ]/[リポジトリ].git
53
48
0

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
53
48

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?