Lv1プログラマの誰得メモ

総務女子の趣味とか勉強に関係することのメモ

SourceTreeでGitHubリポジトリのクローンができない

SourceTreeでGitHubリポジトリのクローンができない。

※アプリが落ちるならこちらの可能性↓

lv1meg.hatenablog.com

現象と原因

GitHubに作成したリポジトリHTTPSでSourceTreeでクローン作成しようとすると 「ソースパス/ソース URL として正しくありません」 と表示されます。

f:id:megsan:20220402155020p:plain

詳細ボタンを押すとエラー内容が表示されます。 f:id:megsan:20220402155628p:plain

エラー:パスワード認証のサポートは2021年8月13日に削除されました。代わりに、個人用アクセストークンを使用してください。
remote:詳細については、https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/を参照してください。

SSH鍵の生成

HTTPSパスワード認証ができなくなったため、メッセージに記載されているアクセストークンかSSH鍵での認証になります。ここではSSH鍵での認証を行います。

ツールから「SSHキーの作成/インポート」を選択します。 f:id:megsan:20220402163349p:plain

PuTTY Key Generator」という画面が起動するので、以下に変更してGenerateボタンを押下します。

  • type of key to generate:ECDSA(もしくはED25519)

f:id:megsan:20220402195519p:plain

Generateボタンを押下するとシークバーが現れ、以下のメッセージが表示されるので、空白エリアでマウスを適当に動かします。(動かすとシークバーが動きます)

Please generate some randomness by moving mouse over the blank area.(空白の領域でマウスを動かしてランダムな値を生成してください)

f:id:megsan:20220402195542p:plain

鍵が生成できたら、赤枠黒塗りの部分をテキストファイルか何かにメモして、「Save Private key」ボタンを押下し鍵ファイルを保存します(拡張子.ppk)※ファイルは今後も鍵として使用するため、開発用フォルダ等わかりやすい場所への保存をお勧めします。

f:id:megsan:20220402194721p:plain

GitHubへのインポート(GitHubの操作)

保存した鍵ファイル(拡張子.ppk)をGitHubにインポートします。 githubのsetting > SSH and GPC keys で開いた画面で「New SSH key」ボタンを押下します。 f:id:megsan:20220402175218p:plain f:id:megsan:20220402175545p:plain

Titleは任意の名前、Keyには「PuTTY Key Generator」画面でテキストファイル等にコピーした文字列を貼り付けて、「Add SSH key」ボタンを押下します。 f:id:megsan:20220402180920p:plain

以下のように画面に鍵が追加されていればOKです。 f:id:megsan:20220402184227p:plain

次はSourceTree側の操作です。ツールからSSHエージェントを起動します。 f:id:megsan:20220402184511p:plain

読み込み確認のメッセージが出るので「はい」を選択し、鍵を生成した際に保存したファイル(拡張子.ppk)を読み込みます。

f:id:megsan:20220402184626p:plain

GitHubへのインポート(SourceTreeの操作)

いよいよローカルにクローンを作成します。Cloneメニューからクローン作成画面を開きます。 f:id:megsan:20220402185105p:plain

GitHubからクローンを作成したいリポジトリのパス(SSH)を取得し、貼り付けます。保存先のパスにはクローンを作成するローカルパスを指定します。 f:id:megsan:20220402191142p:plain

クローンボタン押下後、SourceTree上で以下のような画面が出たら完了です。 f:id:megsan:20220402192435p:plain

おまけ:SSHエージェントの自動起動

「SourceTree起動時にSSHエージェントを起動します」にチェックを入れておくと、幸せになれると思う。 f:id:megsan:20220402193612p:plain

おまけ:一部のSSHも使えない

2021年8月HTTPSのパスワード認証ができなくなりましたが、その後、SSHのDSA,SHA-1RSA)等も使用できなくなったようです。SHA-2(RSA)はサポートされてると記載してありますが、PuTTY Key GeneratorでRSAを鍵タイプRSAを指定すると使えない旨のエラーが発生したので(スクショ忘れました...)この記事の手順でやるとしたらECDSAかED25519の二択になりそうです。試してないのでわかりませんが。追加されたECDSAとED25519は新標準のためどちらかで鍵生成すればよいと思います。暗号難しい。

github.blog