エラー表示
XcodeとGitHub連携しようとしたところ、以下のエラーが表示されました。
エラー内容
このエラーメッセージは、SHA-1ハッシュ関数を使用したRSAキーが使用されていることによるものです。
SHA-1はセキュリティ上の脆弱性があるため、現在は推奨されておりません。
エラーには、以下の記事を参考とのことです。
GitHubのブログ記事
どうやらXcodeとGitHubの連携だからというわけではなく、GitHubの仕様が変更されたみたいです。
関連して、Appleの回答は以下
Apple回答
結論
ecdsaを使用して新しい SSH キーを生成しましょうとのこと
手順
はじめに
以下の手順は最適解というよりは、あくまで参考でお願いします。
①.sshディレクトリに移動
cd ~/.ssh
②新しいECDSA鍵を生成
ssh-keygen -o -a 100 -t ecdsa -f ~/.ssh/id_github -C "your_email@yourdomain"
"your_email@yourdomain"はご自身のアドレスを入力してください。
③ssh-agentを実行します。
eval "$(ssh-agent -s)"
SSHエージェント
秘密鍵を保持し、セッション中に再認証を要求されずにSSH接続を行うために使用されます。
④生成された鍵をキーチェーンに追加
ssh-add --apple-use-keychain ~/.ssh/id_github
キーチェーン
MacOS上で秘密鍵を安全に管理するための仕組みです。
このコマンドにより、鍵をキーチェーンに追加し、パスフレーズを再入力する必要がなくなります。
⑤新しい公開鍵の内容をクリップボードにコピー
pbcopy < ~/.ssh/id_github.pub
⑥GitHubのSSH設定ページへ
⑤でコピーしておいた公開鍵をGitHubのSSH設定ページへ貼り付ける。
⑦GitHubでトークンを取得する
Personal Access Tokensからトークンを取得し、コピーしておく。
Select scopesは以下をチェックしておく。
・repo
・admin:public_key
・user
・write:discussion
⑦XcodeへGithubアカウントを追加
・Xcode→Preferencesをクリック
・Accountタブの左下の「+」をクリック
・GitHubを選択し、「Continue」をクリック
・Accountと先ほどコピーしたトークンを入力し、「Sign in」をクリック
・SSHキーとしてid_githubを選択する。
XcodeとGitHubが連携ができました。