macOS で 1Password 経由で SSH 接続したかったのですが、うまく行かなかったのでメモ。
基本的なやり方は、公式ドキュメントを参照:
設定後、 ssh -T git@github.com
とするが、一向に繋がらない。
エラーとしては以下のようなもの。
$ ssh -T git@github.com sign_and_send_pubkey: signing failed for ED25519: [REDACTED] from agent: agent refused operation git@github.com: Permission denied (publickey).
まぁ認証できていませんね。鍵をエクスポートしてそのまま繋いだ場合は接続できるようなので、 1Password 周りの挙動が原因のようです。
また、 Windows 端末ではすでに 1Password 経由でしか SSH 鍵は扱っていないので、 GitHub が対応していないと言うことは無さそうです。
ということで、治し方。
- 1Password の設定から、セキュリティ → ロック解除、から Touch ID にチェックが入っていることを確認する
- Window 左側から Vault をロックする
- 再度 1Password の Vault をアンロックする
- このとき、 Touch ID ではなく Master Password を要求される
- Vault が開いたら、再度コマンドを実行する
$ ssh -T git@github.com Hi mika-f! You've successfully authenticated, but GitHub does not provide shell access.
難しいね。