GithubからSourceTreeを介してCloneしようとしたら、「リボジトリのクローン」のポップ画面で、
「ソースパス、またはソースURLとして正しくありません」という画面が出てクローンができなかった。
下記画面のソースURLにGithubのSSHからURLをコピーして貼っても
「これは正しいGitリボジトリです」にならない。
ちなみにもちろん、GithubにSSH設定はしていて、前はそれでクローンできていた。
しかし、久しぶりにクローンしようとしたらできない。
そこで対策方法を検索してみたら
1)ホスト名とソースURLが違っている
(参考)
https://qiita.com/daijiro_maeyama/items/002301850c998b13a3aa
→同じだった
2)httpsの方法に変えてみる
Githubはパスワード認証を廃止し、トークン認証になるようで、これが私には合わなかったのでSSHでなんとかできないか検討.
(参考)
https://news.mynavi.jp/techplus/article/20201222-1604003/
3)SSHを再度作成する
基本的にはこれでうまくいった。
以下はSSHの作成方法について説明する
a) SSHディレクトリに移動
$ cd ~/.ssh
b) 公開鍵の生成コマンドを打つ
$ ssh-keygen
c) すると下記画面が出る
すでに前に作成したSSHキーが存在しているので
上書きするか聞かれるのでyキー押す
Generating public/private rsa key pair.
Enter file in which to save the key (/(パス名)/.ssh/id_rsa):
/(パス名)/.ssh/id_rsa already exists.
Overwrite (y/n)? y
d)するとパスワードを記入してEnterを押してと言われるので記入してEnter
(※ちなみにパスワード記入しないでEnterでもOK。ここらへんは好みで)
※ちなみにパスワードを記入しても画面には出ないが、ちゃんと認識されてる
Enterを押すと下の行、つまり同じパスワードを記入してと言われるので記入してEnter
※もちろん上で記入してなければただEnterでOK)
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
e) すると下記の画面(実はもっとあるがセキュリティ上割愛)が出て
作成されたことがわかる。
our identification has been saved in /(パス名)/.ssh/id_rsa.
Your public key has been saved in /(パス名)/.ssh/id_rsa.pub.
f)つぎにSSHをコピーする、まずは上で作ったファイルをコマンドラインで開く
cat ~/.ssh/id_rsa.pub
※ちなみにpbcopyの方法は私の場合うまくいかなかった
https://qiita.com/tetsu-upstr/items/e72147250701cf30ee72
どうやらコマンドが登録されていなかったらしい。
なので上の方法を使った
g)すると中身が出るので、「ssh-rsa」から最終行までを選択してコピー(Ctrl+c)
※セキュリティ上キャプチャは割愛
h)GitHubのsetting画面から「New SSH」で公開鍵をペーストして
タイトルは私の場合SourceTreeのためにつくったのでまんま「SourceTree」にした
タイトルは何でもいいと思う
その下にg)でコピーしたSSHをペーストして「Add SSH key」ボタンを押せばSSHが作られる
i) コマンドラインに戻って確認(下記コマンドを打ってEnter)
ssh -T git@github.com
j) パスを作っていればこの画面が出るのでパスワードを打ってEnter
Enter passphrase for key '/(パス名)/id_rsa':
k)この画面が出れば、登録に成功
Hi (ユーザ名)! You've successfully authenticated, but GitHub does not provide shell access.
l) 再びクローンしてみると、「これは正しいGitリボジトリです」になり、問題解決
以上