なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

macOS で 1Password 経由で SSH したい

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 が対応していないと言うことは無さそうです。

ということで、治し方。

  1. 1Password の設定から、セキュリティ → ロック解除、から Touch ID にチェックが入っていることを確認する
  2. Window 左側から Vault をロックする
  3. 再度 1Password の Vault をアンロックする
    1. このとき、 Touch ID ではなく Master Password を要求される
  4. Vault が開いたら、再度コマンドを実行する
$ ssh -T git@github.com
Hi mika-f! You've successfully authenticated, but GitHub does not provide shell access.

難しいね。