😊
GitHubにssh接続するまでの手順
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.
Discussion
とてもわかりやすかったです!ありがとございました!
一点、公開鍵の取得コマンドも明記するとわかりやすいかと思いました!
コメントありがとうございます。
追記しておきます。