😊

GitHubにssh接続するまでの手順

2021/10/13に公開
2

GitHubにてhttpsを用いたパスワード認証が2021年8月13日に廃止されました。[参考]
アクセストークンを発行するやり方もありますが、ssh接続は何かと設定する機会があると思いますのでssh接続の設定手順を紹介します。

公開鍵・秘密鍵の作成

まずは公開鍵と秘密鍵を作成する必要があります。秘密鍵は絶対に見られないように自分のパソコンで保持し公開鍵は相手(今回はGitHub)に共有します。

まずは鍵を保管するフォルダに移動します。

cd ~/.ssh

鍵を作成します。

ssh-keygen -t ed25519
オプションに関しての説明
-t 暗号化方式の指定、デフォルトよりed25519の方がより強固なのでこちらを指定します
-C 鍵にコメントを残せます。指定する場合はマシンの区別ができる文字列が良い
-f 鍵の名前。どのサービスやサーバー用の鍵かわかるような名前にするのが望ましい

コマンドを実行すると最初にファイル名を聞かれますのでgithubとでも指定しておいてください。その次に鍵のパスワードが聞かれます。特に指定がなければ何も入力せずにenterを押してください。次の確認もそのままenterボタン。

リモート環境(GitHub)の設定

公開鍵をGitHubに保存します。
ここにアクセスしてスクロールし下のNew SSH Keyというボタンを押してください。

ボタンを押すと以下のような欄が表示されるのでTitleに鍵の名前、keyに公開鍵(*.pub)を入力してください。公開鍵の内容はcat ~/.ssh/"上で指定したファイル名".pub等のコマンドで確認できます。

titleはローカルファイルと同じである必要はありません。私は鍵を保管している端末が分かるような名前を設定しています。入力完了後、Add SSH keyボタンを押して登録完了です。

ローカルでの設定

~/.ssh/configファイルを存在しなければ新規作成し以下の内容を書き込んでください。

Host github github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github

IdentityFileで指定する秘密鍵の名前は各自の設定に合わせて変更してください

最後に接続確認をしましょう。

ssh -T github

以下のように返ってきたら接続成功です。ssh通信を使ってパスワードを使わずにGitHubとやりとりできるようになります!

Hi YOUR_NAME! You've successfully authenticated, but GitHub does not provide shell access.
GitHubで編集を提案

Discussion

ywzxywzx

とてもわかりやすかったです!ありがとございました!

一点、公開鍵の取得コマンドも明記するとわかりやすいかと思いました!

cat ~/.ssh/id_ed25519.pub
schnellschnell

コメントありがとうございます。
追記しておきます。