😎

Key is invalid. You must supply a key in OpenSSH public key format

2022/10/30に公開約2,200字

備忘録を含みます.
English translate is last of the page.

概要

Github に push する過程で SSHKey を設定したときKey is invalid. You must supply a key in OpenSSH public key formatと出た時の対処法

less ~/.ssh/id_rsa.pub

として公開鍵を出力する.

ssh-rsa *********** example@mail.com

の、全て (ssh-rsa ... @mail.com まで)をコピーしてGithubの所定のフォームに貼り付ける.

備忘録を兼ねたはじめてのGithub

手順

  1. アップロードしたいフォルダやファイルのあるディレクトリに移動する
    $ cd [ディレクトリ名] 
    
  2. ローカルリポジトリを作成する
    $ git init 
    
  3. そのフォルダ内部の全てのフォルダやファイルを全部アップロードの対象に指定する
    $ git add .
    
    特定のファイルやフォルダだけを指定する場合は.をファイル名等にする
    ここでerror: 'hogehoge' does not have a commit checked outというエラーメッセージが出力された場合、ローカルリポジトリ内部に.gitファイルが複数ある可能性がある.
    すべての.gitファイルを削除して$ git initからやり直す
  4. アップロードの対象にしたファイル等を保存する
    $ git commit -m "コミットメッセージ"
    
    コミットメッセージでコミットする内容の説明をする
  5. ローカルリポジトリとリモートリポジトリを関連づける
    $ git remote add origin [url]
    
    ここでfatal: Could not read from remote repository.というエラーメッセージが出力された場合、SSHの設定が行えていない. 後述する手順で設定する.
  6. ローカルリポジトリのファイルをリモートリポジトリにアップロードする
    $ git push origin maaster
    

SSHの設定

  1. 鍵を作成する
    $ ssh-keygen -t rsa -C [githubに登録したメールアドレス]
    
    Enter file in which to save the key (~/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter passphrase (empty for no passphrase):
    
    と順に聞かれる. 特に変更点がなければすべてエンターキーを押す
  2. ファイルを確認する
    $ ls ~/.ssh
    
    このコマンドでid_rsa id_rsa.pubファイルが作成されていることを確認する
  3. github に公開鍵を登録する
    1. Github にログイン
    2. 自分のアイコンをクリック
    3. Sertting > SSH and GPG keys > New SSH keys をクリック
    4. ターミナルで以下のコマンドを入力
      $ less ~/.ssh/id_rsa.pub
      
      とすると
      ssh-rsa *********** example@mail.com
      
      のようにssh-rsa、公開鍵、登録したメールアドレス の3つの文字列が改行なしで出力されるのですべてコピーする
    5. コピーした文字列を key にペーストして Add SSH Key をクリック
  4. config ファイルを編集する
    $ vi ~/.ssh/config
    
    と入力し config を開く
    Host github
      HostName github.com
      IdentityFile ~/.ssh/id_rsa
      User git
    
    と入力して保存する

English Translated Summary

I'm not vely gut at drawing engrish!

How to deal with Key is invalid. You must supply a key in OpenSSH public key format when setting SSHkey in Github

less ~/.ssh/id_rsa.pub

Check your public key. Looks like this.

ssh-rsa ************** yourgithubmailaddress@mail.com

Copy ALL STRINGS and paste into the Github form.

Discussion

ログインするとコメントできます