
ゲーム事業部でUnityエンジニアをしている江連です。
今回はGitHubとSourceTreeのSSH認証まわりで発生したエラーについて解決方法をまとめましたので、参考になれば幸いです。
WindowsとMacにて、GitHub Docsに記載されている「新しいSSHキーを作成する」の手順で作成したSSHキーをSourceTreeから読み込ませて、SSH接続を行おうとしました。
メニューバーから「ツール > SSHキーの追加」を選択し、Git Bash上で作成した任意のSSHキーを追加することができます。
しかし、追加するSSHキーの形式がPuTTY形式に設定されている場合は「新しいSSHキーを作成する」の手順で作成したSSHキーは表示されません。
そこで、メニューバーから「ツール > オプション」を選択し、SSHクライアントの設定項目からOpenSSHに変更することで、SSHキーを設定することができます。
「新しいSSHキーを作成する」の手順で作成したSSHキー(ed25519アルゴリズムを使用)をSourceTreeから読み込ませることはできませんでした。
そのため、ターミナルとSourceTreeの両方からSSH接続を行いたい場合は、SSHキーをそれぞれ用意する必要がありました。
具体的には、~/.sshフォルダ直下にconfigファイルを作成し、下記のように、まずはターミナルで使用するSSHキーを追加します。
Host github.com
HostName github.com
User
PreferredAuthentications publickey
IdentityFile /Users//.ssh/
UseKeychain yes
AddKeysToAgent yes
その後、SourceTreeを起動し、右上のボタンから「アカウントの追加」を選択、アカウント接続後に「キーの生成」を行うと、SSHキーが作成されます。
先ほど作成したconfigファイルの中身を見ると、SourceTreeのSSHキーが自動で追加されていることが確認できます。また、GitHubにも自動でSSHキーが登録されます。
補足にはなりますが、
SSH接続する際に、リモートリポジトリのパスが下記のように「git@」から始まらず「https://」から始まっている場合は「https://」の部分を「git@」に置換してください。
まとめ
今回は、WindowsとMacでのSourceTreeとGitHubをSSH認証する際のトラブルシューティングについて書きました。
分かってしまえば、すぐに解決できるものばかりですが、初回の解決までに多くの時間を使ってしまうため、エラー内容から原因がどこにあるのか仮説を立てることや、解決が難しい場合は別のアプローチに切り替えることも大切だと感じました。
▼採用情報
レアゾン・ホールディングスは、「世界一の企業へ」というビジョンを掲げ、「新しい”当たり前”を作り続ける」というミッションを推進しています。
現在、エンジニア採用を積極的に行っておりますので、ご興味をお持ちいただけましたら、ぜひ下記リンクからご応募ください。
Views: 0