VSCodeでBitbucket(サーバー版)のリポジトリへの接続手順


CentOS7.6にインストールしたVSCodeから
Bitbucket(サーバー版)のリポジトリに接続したときの手順メモ
以下、Bitbucketはサーバー版のことを指します

前提条件

  • gitをインストール済み(Ver2.21.0)
  • Bitbucketにアカウントあり
  • VSCode(Ver1.33.1)をインストール済み
  • SSHキーは未発行

進め方

  1. SSHキーを発行
  2. SSHのコンフィグに利用キーを登録し権限変更
  3. SSHのパブリックキーをBitbucketに登録
  4. 利用ユーザーをgitのconfigに登録
  5. VSCode上でリモートリポジトリをクローンする
  6. 完了

具体的手順

1. SSHキーを発行

既存のキーがあれば使いまわし可能。
ただし、使いまわしたキーが認識されない場合は新規発行
SSHキーを発行するには、ssh-keygenを利用
※#はコメント用で入れましたが、実際は不要です

terminal
$ ssh-keygen -t rsa -C "mail@host"                                   #-C の後ろの文字は、何でも良い。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/your_user/.ssh/id_rsa):  #キーの保存場所を入力 
Enter passphrase (empty for no passphrase):              #パスワード必要なら入力、パスワード不要なら入力不要
Enter same passphrase again:                      #上でパスワード入力した場合は再入力、不要時は入力不要
Your identification has been saved in /home/your_user/.ssh/id_rsa.
Your public key has been saved in /home/your_user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ExxxxxxxxxxxxxxxxxxxxxxxxxxxE mail@host
The key's randomart image is:
+---[RSA 2048]----+
|o  o==o          |
|    (略)         | 
|       .oo  oo   |
+----[SHA256]-----+

2. SSHのconfigに利用キーを登録

2-1 SSHキーの名前を変更

id_rsaとid_rsa.pubは、必要に応じて分かりやすい名前に変更してください。
下の例では、bitbucket用に名称を変更しています

terminal
$ mv id_rsa id_bitbucket
$ mv id_rsa.pub id_bitbucket.pub

2-2 ~.ssh/configを作成

configファイルがなければ、空のファイルを作成し名前をconfigに変更。
configファイルには、下記の記述をする。
※#はコメント用で入れましたが、実際は不要です

~.ssh/config
Host bitbucket                      #名称
  HostName repo.xxx.yyy.jp          #接続先のホスト。URLがhttps://abc.jpの場合はabc。https://abc.def.org の場合はabc.def
  User git                          #gitで固定
  Port 22                           #普通は22。接続先の設定次第で違うポート番号を入力する必要あり。
  IdentityFile ~/.ssh/id_bitbucket  #SSHキーの場所を指定
  TCPKeepAlive yes
  IdentitiesOnly yes

2-3 作成したキーとconfigを権限600(所有者のみ読書可能)に変更

terminal
$ chmod 600 id_bitbucket id_bitbucet.pub config

3. SSHのパブリックキーをBitbucketに登録

3-1 パブリックキーの内容をコピー

Bitbucketにパブリックキーを登録するため、catでその中身を表示。
ターミナルに表示された内容をコピーする。

terminal
$ cat id_bitbucket.pub
ssh-rsa AAAAB3NzaC1yc2XXXXXXXXXXXXX( 中略・すごく長い。)XXXXXXXZZZZ mail@host

3-2 Bitbucketにログイン

アカウント管理を表示

3-3 パブリックキーの追加画面へ遷移

メニューの「SSHキー」を押下、「キーを追加」を押下

3-4 パブリックキーを追加

3-1でコピーした、パブリックキーの内容をペーストし、キーを追加を押下

登録された

3-5 接続を確認

  • 成功例を記述したかったのですが、謎のエラー。
    うまくいくと何かメッセージが表示されるらしい。
  • shell request failed on channel 0 と出ても、後述のCloneが可能でした。
成功例
$ ssh -T git@bitbucket
shell request failed on channel 0
$
  • 失敗例はこちら。 フィンガープリントが違うよって教えてくれる。
    Bitbucketに登録したパブリックキーが間違ったか、あるいは~.ssh/configの記述が間違ったか。
    SSHキーを使いまわしたときに表示された場合は、SSHキーを新規作成しなおしたほうが早いです
失敗例
$ ssh -T git@bitbucket
The authenticity of host 'bitbucket.org (18.205.93.1)' can't be established.
RSA key fingerprint is SHA256:YYYXXXXXXX(略).
RSA key fingerprint is MD5:aa:bb:cc:(略).    
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,18.205.93.1' (RSA) to the list of known hosts.
Authentication failed.

4. 利用ユーザーをgitのconfigに登録

Bitbucket接続時のユーザー名とメールアドレスを
git config で登録する

terminal
git config --global user.email "mail@host" 
git config --global user.name "aaaaaaa"  

5. VSCode上でリモートリポジトリをクローンする

VSCodeを立ち上げ$ code
画面左メニューの丸が3つあるへんてこなイラストをクリックし
コマンドパレットからGit Cloneを選択

リポジトリのURLを入力してねと表示されるので、入力

URLの確認ができると、リポジトリの複製場所を聞かれるので、選択する
するとリポジトリのパスワードを聞かれるのでを入力し、Enter

画面右下に、複製中ですよと表示される

複製完了後、画面右下にリポジトリを開くか、ワークスペースに追加するかを聞かれる
リポジトリメインに作業するなら、リポジトリを開くを選択

6. クローン完了!

あとはgitの流れに従い、Push、Pullなどを必要に応じて実施してください
VSCodeのgit画面の簡単な説明は↓