0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Backlog】SSH公開鍵を登録する方法。MacのFinderでsshディレクトリを表示する方法。

0
Posted at

目次

クローン時のエラー

新規案件のGitリポジトリをcloneしようとすると、

yuki ~ % git clone hoge@hoge.git.backlog.jp:/PROJECT/project-nogizaka.git
Cloning into 'project-nogizaka'...
The authenticity of host 'hoge@hoge.git.backlog.jp (xx.xx.xxx.xxx)' can't be established.

ED25519 key fingerprint is SHA256:S+TESTHOGE12345678900.

This key is not known by any other names.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

と表示されました。

Are you sure〜?と聞かれているので、「yes」を入力しEnterを押下すると、以下のエラーが発生しました。

Warning: Permanently added 'hoge@hoge.git.backlog.jp' (ED25519) to the list of known hosts.
hoge@hoge.git.backlog.jp: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

原因

BacklogにまだSSH公開鍵を登録していないことが原因です。

BacklogのSSH 公開鍵の登録画面

公開鍵の作成方法

yuki ~ % ls -la ~/.ssh

で確認すると、すでに複数登録済みでした。

-rw-------   1 yuki  NOGIZAKA\Domain Users  1831  6 24  2025 key_sakura
-rw-r--r--   1 yuki  NOGIZAKA\Domain Users   402  6 24  2025 key_sakura.pub
-rw-------   1 yuki  NOGIZAKA\Domain Users  1831  8 27  2025 key_hinata
-rw-r--r--   1 yuki  NOGIZAKA\Domain Users   402  8 27  2025 key_hinata.pub

いつも案件ごとに公開鍵を分けているので、今回も新しく作成することにしました。

まずは

yuki ~ % ssh-keygen -t ed25519 -C "yuki@test.co.jp" -f ~/.ssh/nogizaka_backlog

と入力します。

Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase): 

SSH鍵のパスフレーズを設定するかどうかを聞かれています。

パスフレーズとは

SSH秘密鍵を保護するための「パスワード」のようなものです。

  • 設定する:秘密鍵を使うたびに(またはSSHエージェントに登録するまで)パスフレーズの入力が必要になり、セキュリティが高くなります。
  • 設定しない:Enterキーを押すだけで使えます。
    入力の手間はありませんが、秘密鍵ファイルが盗まれた場合に悪用されやすくなります。

今回は設定しないため、何も入力せず「Enter」をクリックします。

再度Enter〜と表示されるので、何も入力せず「Enter」をクリックします。

Enter same passphrase again: 

結果がこちらです。

Your identification has been saved in /Users/yuki/.ssh/nogizaka_backlog
Your public key has been saved in /Users/yuki/.ssh/nogizaka_backlog.pub
The key fingerprint is:
SHA256:HOGETEST000000011111 yuki@test.co.jp
The key's randomart image is:
+--[ED25519 256]--+
|   .S..          |
|  . *=+          |
|   @.+.          |
|  + % * =.       |
|   + *o.+        |
+----[SHA256]-----+

このキラキラしたものは何?

「ランダムアート」(randomart)と呼ばれるそうです。
鍵の内容を人が見て識別しやすいように図形化したものです。

鍵そのものは「ssh-ed25519 TESTHOHGE10232r442424...」のような長い文字列ですが、人間には見分けがつきません。

この長い文字列から、フィンガープリント(SHA256:...)とランダムアートを生成しています。
どちらも同じ鍵から一意に生成される識別情報です。

公開鍵の確認方法

作成できているか念のため確認します。

Your identification has been saved in /Users/yuki/.ssh/nogizaka_backlog
とあるので、/Users/yuki/.sshディレクトリ内に作られていることが分かります。

Finderを開き、まず /Users/yukiディレクトリ を開きます。

しかし、デフォルトでは.sshディレクトリは表示されません。
キーボードショートカット Command + Shift + .(ドット) をクリックすると、隠しファイルが表示されます。

▽ 作成されていることが確認できました

MacのFinder内にあるsshディレクトリ

公開鍵の登録方法

次に、Backlogに登録する公開鍵をコピーします。

初めに作業していたターミナルに戻り、

yuki ~ % cat ~/.ssh/nogizaka_backlog.pub

と入力します。

登録したいのは公開鍵なので、末尾に「.pub」と書いているほうになります。

ssh-ed25519 AATESTHOGEHOGE3123456789000000....... yuki@test.co.jp

のような結果が表示され、これが公開鍵になります。
この1行をそのままコピーします。

コピーしたものをBacklogの公開鍵登録欄に貼り付けます。

Group 6.png

「登録」ボタンをクリック。
「登録されたSSH公開鍵」の一覧に登録されたものが表示されます。

Group 7.png

configファイルに設定を追加

.sshディレクトリ内のconfigファイルを開きます。

sshディレクトリとconfigファイル

configファイルに設定を追加します。

# A案件Backlog
Host backlog-nogizaka
    HostName hoge.git.backlog.jp
    User hoge
    IdentityFile ~/.ssh/nogizaka_backlog
    IdentitiesOnly yes
  • Host:ローカルで使う名前(なんでもいいですが、分かりやすい名前が良い)
  • HostName:実際のBacklogサーバー
  • User:Backlog指定のSSHユーザー
  • IdentityFile:使用する秘密鍵
    ※公開鍵ではないので、nogizaka_backlog.pubではなくnogizaka_backlogになります
  • IdentitiesOnly yes:この鍵だけを使って認証する、という意味

HostNameとUserはクローンするURLから確認することができます。

hoge@hoge.git.backlog.jp:/PROJECT/project-nogizaka.git

の場合、
hoge.git.backlog.jpがHostName
hogeがUser
になります。

SSH接続テスト

configに追加したら、接続できるか確認します。

yuki ~ % ssh -T backlog-nogizaka
You've successfully authenticated, but Backlog does not provide shell access.

backlog-nogizakaはconfigファイルで記述したHost名(ローカルで使うときの名前)です。

You've successfully〜と出たら接続が成功していることになります。

再度クローンを実行

今回は~/.ssh/configファイルで設定したHost名「backlog-nogizaka」が必要になります。

git clone backlog-nogizaka:/PROJECT/project-nogizaka.git

# git clone Host名:/PROJECT/project-nogizaka.git

を実行するとクローンすることができます。
Host名を使うのがポイントです。

無事にクローンすることができました。

注意点

BacklogのGitリポジトリ一覧

BacklogのSSHクローン時に使われるURLを使うと

git clone hoge@hoge.git.backlog.jp:/PROJECT/project-nogizaka.git

Cloning into 'project-nogizaka'...
hoge@hoge.git.backlog.jp: Permission denied (publickey).
fatal: Could not read from remote repository.

上記のようにエラーが発生します。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?