見出し画像

【IT】GithubへSSH接続

皆さま
こんにちは

MacBookをM1に乗り換えて
ソースコードをGitHubへpush使用としましたが、
以下のエラーとなり繋がりません。

$ git push -u origin main
Enter passphrase for key '/Users/user01/.ssh/user01-GitHub':
Enter passphrase for key '/Users/user01/.ssh/user01-GitHub':
Enter passphrase for key '/Users/user01/.ssh/user01-GitHub':
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

機種変更の際に前のMacBookからユーザのSSH-Keyも設定も
持ってきた筈ですが、繋がりません。

公開鍵を確認します。

$ more user01-GitHub.pub
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= user01@pc001.local

変更前のホスト名となっております。

一旦、SSH-KEYを再作成し、GitHubへ再登録します。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user01/.ssh/id_rsa): user01-GitHub
user01-GitHub already exists.
Overwrite (y/n)? yes
Enter passphrase (empty for no passphrase): ←エンター(今回はノンパスとします)
Enter same passphrase again: ←エンター(今回はノンパスとします)
Your identification has been saved in user01-GitHub
Your public key has been saved in user01-GitHub.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxk user01@pc009new.local
The key's randomart image is:
+---[RSA 3072]----+
|. xxxxxxxxx      |
|. xxxxxxxxx      |
|. xxxxxxxxx      |
|. xxxxxxxxx      |
|. xxxxxxxxx      |
|. xxxxxxxxx      |
|. xxxxxxxxx      |
|. xxxxxxxxx      |
|. xxxxxxxxx      |
+----[SHA256]-----+

$ chmod 600 user01-GitHub*

SSHのConfigファイル、
「/Users/user01/.ssh/config」は上書きため変更しませんが、
以下の記載があること確認します。(ファイルに間違いがないか?)

# ----------------------------
Host github.com
        HostName github.com
        User user01
        PreferredAuthentications publickey
        IdentityFile /Users/user01/.ssh/user01-GitHub
        UseKeychain yes
        AddKeysToAgent yes
# ----------------------------

GitHubへログインして

右上のメニューアイコンから「Settings」選択し、設定画面を開きます。

次に「SSH and GPG keys」を選択してSSH-KEYの登録画面を開きます。

一旦、登録されているSSH-KEYを削除します。

次に「New SSH Key」を押して公開鍵を登録します。
端末にて以下のコマンドでクリップボードにコピーした内容をペーストします。

$ pbcopy < ~/.ssh/user01-GitHub.pub

コピーしたSSH-KEY(公開鍵)を貼り付けます。
タイトルはわかりやすい名前をつけます。

SSH接続が出来ることを確認します。

$ ssh -T git@github.com
Hi user01! You've successfully authenticated, but GitHub does not provide shell access.

再びGitへPushを行います。

$ git push -u origin main
Enumerating objects: 44, done.
Counting objects: 100% (44/44), done.
Delta compression using up to 8 threads
Compressing objects: 100% (26/26), done.
Writing objects: 100% (43/43), 113.30 KiB | 748.00 KiB/s, done.
Total 43 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:user01/test001repo.git
   7c05743..d9375bf  main -> main
branch 'main' set up to track 'origin/main'.

無事、GitへPush出来ました。

では

この記事が気に入ったらサポートをしてみませんか?