目次

SSH(Secure Shell)

暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。

$ install -m 0700 -d ~/.ssh
$ cd ~/.ssh
 
$ ssh-keygen -t rsa -b 4096 -C "hoge@example.com" -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):  <-- パスフレーズを入力(任意)
Enter same passphrase again:  <-- もう一度、パスフレーズを入力(任意)
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
 
$ ls ~/.ssh
id_rsa  id_rsa.pub

MacOSでsshを使う

sshの秘密鍵を登録する。

ssh-add -K ~/.ssh/id_rsa

MacOSはSSHの秘密鍵のパスフレーズをKeychainに保存できる。-Kのオプションを追加することで可能。 しかし、MacOS Sierra以降、 OpenSSHのバージョンが上がったことでできなくなった?
解決策として、.ssh/configに以下の内容を追加すればよい。

AddKeysToAgent yes
UseKeychain yes

逆にSierra以前はこの設定は不要(OpenSSH的にそもそもできない仕様?)

参考文献

Secure Shell Wikipedia
ssh-keygen - 認証用の鍵を生成 - Linuxコマンド
macOS Sierra の SSH で、秘密鍵のパスフレーズが Keychain 保存されない問題の解決方法
Generating SSH Keys on macOS Sierra (10.12) and High Sierra (10.13)
秘密鍵・公開鍵を作成する(Mac)
【mac】SSH鍵認証でサーバに接続する(初級編)
今日からはじめるCI/CD ─ CircleCI + Deployerでテストとデプロイを自動化しよう!【休日個人開発】