0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

XcodeとGitHub連携時にSHA-1署名のRSAキーエラーについて

Last updated at Posted at 2023-05-21

エラー表示

XcodeとGitHub連携しようとしたところ、以下のエラーが表示されました。
08264A6B-E20D-4CD0-A9D0-2741C0C40EB2.jpeg

エラー内容

このエラーメッセージは、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をクリック
6C756DE5-5C74-4D31-90F4-4825B38E18FB_4_5005_c.jpeg
・Accountタブの左下の「+」をクリック
4A6861CC-AA34-4B4D-A24F-DC9ACD1B2992.jpeg
・GitHubを選択し、「Continue」をクリック
B6575BD1-F477-462C-B864-51C69A572714_4_5005_c.jpeg
・Accountと先ほどコピーしたトークンを入力し、「Sign in」をクリック
E437EE7B-B243-4E8E-889A-5DAA8197B851_4_5005_c.jpeg
・SSHキーとしてid_githubを選択する。
3A95171C-9429-4A6E-9452-B71A29100819.png
XcodeとGitHubが連携ができました。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?