M1 MacBook Air を購入して設定中。
この設定に Homebrew と GitHub を使って基本的な設定をしたいと思い進めています。
また、Rosetta 2 を使わないようにしたいのですが、余りにも M1 対応していないアプリが多いので、Rosetta 2 は使わざる得ないようです。
このドキュメントでは設定に使うコードを GitHub に上げるために SSH 接続する方法について記載します。
基本的には、GitHub のドキュメントにある内容です。
英: https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
日: https://docs.github.com/ja/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
SSH キーの作成
ここでは新しい SSH キーを作成しますが、すでに利用しているキーを持っている場合は、そちらを利用しても良いです。
ssh-keygen でキーペアを作成
ターミナルを開いて、ssh-keygen でキーペアを作成します。
$ ssh-keygen -t ed25519 -C "your_email@example.com"
rsa で作成しているドキュメントは多いですが、ed25519 をサポートしていない実装がないなら ed25519 で作成しましょう。
hokari@mba2020m1 ~ % ssh-keygen -t ed25519 -C "hokari@mba2020m1"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/hokari/.ssh/id_ed25519):
Created directory '/Users/hokari/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/hokari/.ssh/id_ed25519.
Your public key has been saved in /Users/hokari/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hokari@mba2020m1
The key's randomart image is:
+--[ED25519 256]--+
|+===+... |
|Bo==E o |
|.B=* + . |
|.=+ = = . |
|o .. =.oS+ . |
| + o +o + . |
|o . .o . . o |
| . . o. . . |
| .... |
+----[SHA256]-----+
hokari@mba2020m1 ~ %
SSH キーを ssh-agent へ追加
ssh-agent を利用すると、ssh 実行時、よしなに認証処理を実施してくれます。
ssh-agent をバックグラウンド実行
eval "$(ssh-agent -s)"
hokari@mba2020m1 ~ % eval "$(ssh-agent -s)"
Agent pid 32955
hokari@mba2020m1 ~ %
~/.ssh/config 設定
キーチェーンにパスフレーズを登録するよう ~/.ssh/config
を設定します。
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
SSH 秘密鍵を ssh-agent へ追加
ssh-add -K
を利用し ssh-agent へ SSH 秘密鍵を追加し、パスフレーズはキーチェーンに保存します。
hokari@mba2020m1 ~ % ssh-add -K ~/.ssh/id_ed25519
Enter passphrase for /Users/hokari/.ssh/id_ed25519:
Identity added: /Users/hokari/.ssh/id_ed25519 (hokari@mba2020m1)
hokari@mba2020m1 ~ %
ssh-add -l
で確認します。
hokari@mba2020m1 ~ % ssh-add -l
256 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hokari@mba2020m1 (ED25519)
hokari@mba2020m1 ~ %
SSH 公開鍵を GitHub へ登録
hokari@mba2020m1 ~ % pbcopy < ~/.ssh/id_ed25519.pub
hokari@mba2020m1 ~ %
接続テスト
ssh -T git@github.com
hokari@mba2020m1 ~ % ssh -T git@github.com
The authenticity of host 'github.com (52.192.72.89)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,52.192.72.89' (RSA) to the list of known hosts.
Hi hokariyutaka! You've successfully authenticated, but GitHub does not provide shell access.
hokari@mba2020m1 ~ %