プログラミング IT

SourceTreeで参照される秘密鍵のディレクトリが間違っている時の対処法(Mac)

SourceTreeにてGitHubにPushしようとしたら下記のエラーメッセージが表示され失敗した。
理由は単純でしたが解決に辿り着くまで少しハマったので備忘録として残しておきます。

git -c color.branch=false -c color.diff=false -c color.status=false -c 
diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master
Pushing to github.com:SasamiDaifuku/xxx.git
no such identity: /Users/***/.ssh/xxx-GitHub: No such file or 
directory
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
・・・

“no such identity: /Users/***/.ssh/xxx-GitHub”のパス(***の部分)が何故か以前のPC名になっていて、秘密鍵の参照に失敗しているみたいでした。

対処方法

秘密鍵が格納されているディレクトリ内にある「config」ファイル内の「IdentityFile」を正しいパスに変更します。
ターミナルを開き「cd .ssh/」を実行 (秘密鍵の格納されているディレクトリに移動)

$ cd .ssh/

移動後「vi config」を実行(「config」ファイルを編集)

$ vi config

viエディタモードで開くので「i」を押して編集できる状態にする
IdentitiFileの「/Users/***/.ssh/xxx-GitHub」を正しいものに修正する。
修正が完了したら「escキー」を押し「:wq」(保存して終了)を入力、保存しない場合は「:q」を入力

# --- Sourcetree Generated ---
Host github.com
        HostName github.com
        User SasamiDaifuku
        PreferredAuthentications publickey
        IdentityFile /Users/***/.ssh/xxx-GitHub
        UseKeychain yes
        AddKeysToAgent yes
# ----------------------------

上記設定後、再度SourceTreeにてPushを行い成功することを確認します。

コメント

タイトルとURLをコピーしました