BitwardenをSSH-Agentとして利用する

投稿日:2025/11/30最終更新日:2026/3/22

WindowsのsshconfigにUnix形式のパスを書きたくなかったのです

はじめに

Windowsって本当にクソOSですよね。\って何なんでしょうか。
真に批判されるべきメガテックはGoogleでもAppleでもMetaでもなく、Microsoftだと思います。

異端思想はさておき、WindowsのVSCodeからLinuxにSSHして作業はしたいです笑
ですが、sshconfigにUnix形式のパスを書きたくないし、ましてや\形式のパスなんてもっと書きたくないです。

そんな中、BitwardenがSSH-Agent機能を持っていることを知ったため、利用してみることにしました。
テキスト形式で秘密鍵を保存する必要がなくなり、鍵がプロセス間で渡されることもないため、セキュリティも向上します。

私は課金してBitwarden Premiumを利用していますが、SSH-Agent機能は無料プランでも利用可能です。

Bitwardenとは

知らない方のために解説しておくと、Bitwardenはオープンソースのパスワードマネージャーです。
個数無制限、クロスプラットフォーム(TorBrowser含め)対応、オープンソースという、非常に優れたパスワードマネージャーです。

課金すればTOTPもクラウド同期でき、ブラウザ拡張から入力可能です。独自のAuthenticatorアプリがあり、そこからクラウドのパスワードプロファイルにTOTPを追加可能で神です。

サーバーのセルフホストも可能です。
EUの規制に準拠したエンドポイントと切り替えも可能です。

BitwardenをSSH-Agentとして利用する

1. BitwardenにSSH鍵を追加します。

Bitwardenアプリから追加します。

10_bitwarden_as_ssh_agent/01-bitwarden-home-blank.webp

「アイテムの追加 > SSHキー」から追加すると、自動で鍵が生成されるので保存します。

10_bitwarden_as_ssh_agent/02-bitwarden-app-auto-generated-key-page.webp

2. 公開鍵を登録する

アプリ内の鍵の詳細画面から、公開鍵をコピー可能です。
それを~/.ssh/authorized_keysに追記するのみでOKです。

echo "公開鍵" >> ~/.ssh/authorized_keys

Bitwarden CLIから直接公開鍵を取得したかったのですが、まだ対応していないようです。

3. SSH-Agent周りの設定

公式手順はこちらです。

まず、BitwardenアプリでSSH-Agentを有効化します。

10_bitwarden_as_ssh_agent/06-bitwarden-app-enable-ssh-agent.webp

  • Windowsの場合

自分の場合、特別な設定無しで動作しました。 本来は、サービスから、OpenSSH Authentication Agentのスタートアップ起動を無効化する必要があるようです。

確認したところ、自分は最初から無効化されていました。

10_bitwarden_as_ssh_agent/05-windows-service-setting-openssh-agent.webp

Macの場合、SSH-AgentとしてBitwardenを利用する設定を行う必要があります。

  • Macの場合
echo "export SSH_AUTH_SOCK=/Users/username/.bitwarden-ssh-agent.sock" >> ~/.zshrc
  • すでにSSH設定が存在する場合

自分の場合、Hostとして登録していたのでsshconfigに秘密鍵へのパスが書いてありました。それを削除します。
未登録の場合はこのステップは不要です。

4. SSHする

VSCodeからSSHしようとすると、初回はBitwardenがポップアップして鍵の利用確認が出ます。

10_bitwarden_as_ssh_agent/03-vscode-ssh-testing-image.webp

10_bitwarden_as_ssh_agent/04-bitwarden-first-key-use-checking-prompt.webp

承認すると、SSH接続が成功します。 次回からは、Bitwardenのロック(Bitwardenアプリでのログイン)を解除するだけで接続可能です。

おわり

BitwardenをSSH-Agentとして利用することで、秘密鍵の保管・sshconfigに変なパスの記述もなしにSSH接続が可能になりました🎉

Buy Me A Coffee