[Github] 鍵登録のしかた(macOS編)

2022/01/05

テクノロジー

t f B! P L
eyecatch パソコンを買い替えた時に設定を引き継がずに新規に仕様すると、githubの鍵接続ができて、毎回焦る、ユゲタです。 だって、パソコンを買い替えた時って、なんにも設定が入っていない素の状態が、軽くてなんだかスッキリした感じがいいじゃないですか。 そして、キーチェーンなどに登録されたパスワードなども、引き継がれず、またはじめから覚えさせていく作業になるんですが、 設定を引き継ぐかどうかは、どっちがいいとは言い切れないので、「ひとそれぞれ」の思考でいいんですよね。 そうやって自分に言い聞かせてますが、githubの鍵がはずれて、cloneやpushをする際に気がついてアタフタするのが毎回の事です。 最近やたらと多くなってきた、MacOSを使って開発するパターンで毎回行う作業を備忘録として書いておきます。

githubの鍵登録が正常にできているか確認する方法

今使っているPCがgithubに登録されているか確認するコマンドです。 まずはサクッとこのコマンドで正常にgithubが操作できるか確認しておきましょう。 認証が成功した場合の表示も覚えておくと便利です。 ssh -T git@github.com # 成功している場合 > Hi %YourName! You've successfully authenticated, but GitHub does not provide shell access. # 失敗している場合 > git@github.com: Permission denied (publickey).

鍵の作成

まずは、新規に鍵を作って、githubに追加で登録する流れになりますが、 下記コマンドを参考にして鍵を作っておきます。 【手順】 1. 鍵を作る場所に移動 2. 鍵作成コマンド 3. 鍵名称 4. パスワードは入れても入れなくてもいい、初心者の人はそのままEnterしておきましょう。(確認と合わせて2回入力があります) # 1 鍵を作成する場所に移動(なければ自分のrootディレクトリに.sshフォルダを作成してください) $ cd ~/.ssh # 2 鍵作成コマンド $ ssh-keygen -t rsa # 3 鍵ファイル名を「github」にしておきます。 Generating public/private rsa key pair. Enter file in which to save the key (/Users/yugeta/.ssh/id_rsa): Enter passphrase (empty for no passphrase): github #4 Enterを2回(または同じパスワードを入力) Enter passphrase (empty for no passphrase): Enter same passphrase again: #5 次のようなメッセージが現れて、鍵が作られます。 Your identification has been saved in test. Your public key has been saved in test.pub. The key fingerprint is: SHA256:L8lJusqXviyzZyS2vMmI6Lyj5KYjYuCozHTsL6skE0Y yugeta@MacBook-Air-de-yugetakouji.local The key's randomart image is: +---[RSA 3072]----+ | | | | | E | |. | |.. S | |o.. o .+ + | |*+ = +..= . | |/Bo==o=. . | |/X=o@%=. | +----[SHA256]-----+ これで、「github」と「github.pub」という2つのファイルが作られました。 github.pubは、公開鍵ファイルで、 githubは、秘密鍵ファイルです。 公開鍵の中の文字列を、クリップボードにコピーしておきましょう。 * あとでやってもいいですが、このタイミングでやっておくと効率的です。 * $ cat github.pub とコマンドを打って、表示された文字列をcmd + cです。

Githubサイトに公開鍵を登録

1. githubにログインしたら、画面右上の自分のアイコンをクリックすると、次のようなリストが表示されます。 そこの「setting」を選択します。 2. 次に画面左メニューの「SSH and GPG keys」を選択します。 3. 「SSH keys」の箇所の「New SSH key」ボタンをクリックします。 4. 「Title」に任意の名前(端末名がいいかも)、「Key」に公開鍵の中の文字列を貼り付けましょう。 5. Add SSH keyボタンを押すと、登録完了です。

configファイルの作成

もう一つ重要なポイントがあり、自分の.sshフォルダに鍵を作ったんですが、通常鍵の名称は、「id_rsa」というファイル名で扱われます。 今回は他の鍵を上書きしないように、「github」という名称にしたので、ちゃんとそのファイルを認識させてあげるために、 configファイルというのを作成しておきます。 $ vi ~/.ssh/config ## 以下を登録 Host github.com User git Port 22 HostName github.com IdentityFile ~/.ssh/github TCPKeepAlive yes PreferredAuthentications publickey IdentitiesOnly yes 上記のコマンドを実行して、中身をそのまま貼り付けるだけで、最初にやったgithubの認証コマンドで成功するようになります。

さいごに

鍵とか公開とか秘密とか、何だかややこしいんですが、このへんはgithubを使うお作法のようなものだと思って、詳しい事は分からなくても、今の所大丈夫です。 でも、アルゴリズムの学習など、深くプログラミングを学んでいくと、この辺も自ずと理解できるようになるので、頑張って学習することも、オススメですね。 そして、楽しいgithubライフを送りましょう!

追記

2024-01-27 : Linuxで構築しているWebサービスでGIT管理したかったので、cinfigと鍵の設置を行ったんですが、鍵はそのPCでのアカウント名に依存するので、その都度作り直して、githubに追加登録するのがいいと分かりました。 それから、Ubuntuせセットした時に、www-dataのユーザーディレクトリって、/var/wwwとセットされていて、web管理用に別のユーザー(webというアカウント名)にwww-dataのグループIDをセットしていたんですよ。 そのユーザーのホームディレクトリは、/home/webだったんですが、configに書かれている"IdentityFile ~/.ssh/github"のパスが、www-dataのパスになっていて、認証がなかなか通らなかったので、 そのパス先に、.sshフォルダを作って、そこに鍵ファイルを設置したら無事に認証成功しました。 まあまあな落とし穴だったので、似たような症状で困っている人と、将来自分が忘れた時用にメモとして残しておきます。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ