1. Home
  2. /
  3. サービス
  4. /
  5. 1passwordのSSHキー管理状態で踏み台を設定する

1passwordのSSHキー管理状態で踏み台を設定する

1passwordのSSHキー管理状態で踏み台を設定する

結論


Host humidai
  HostName humidai.example.com
  User user
  IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
  IdentityFile "~/.ssh/humidai.pub"

Host target-server
  HostName target-server.example.com
  User user
  ProxyCommand ssh humidai -W %h:%p
  IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
  IdentityFile "~/.ssh/target-server.pub"

のConfigでクライアント側の1password管理のキーを使用して踏み台サーバーへの接続を行います。

序文

SSH接続は人類が生きていく上で欠かせない行動のひとつです。普段自宅のリソースへはTailscaleでVPN接続をしそこからSSHへ接続を行っています。

しかし、移動中の接続構成としてはあまり良くありません。電車で時速100kmを超えてくるとときどき詰まりを感じますし、新幹線で時速200kmを超えるとかなり苦痛になってきます。

TailscaleはWiregurdベースの技術でありVPN接続技術のなかではオーバーヘッドが少なく優秀な技術の認識です。

About WireGuard · Tailscale Docs

Learn how Tailscale builds on WireGuard to offer single sign-on (SSO) and other capabilities.

となるとVPNの選定を変えたとしてもこれ以上の改善を期待できそうにないため他の手法でのアクセス方法を検討します。

そこで古典的な踏み台接続に変更をすることにしました。踏み台にしたところで、クラウドに設置している踏み台から自宅リソースへのアクセスはVPNのためむしろ経由が1階層多くなるだけです。

そんな中見つけた物がquicssh-rsです。

GitHub - oowl/quicssh-rs: QUIC proxy that allows to use QUIC to connect to an SSH server without needing to patch the client or the server.

QUIC proxy that allows to use QUIC to connect to an SSH server without needing to patch the client or the server. - oowl/quicssh-rs

QUICでSSH通信をプロキシすることで、パケロスやIPアドレスの変更に強くなります。これで新幹線の中でも快適にSSH接続ができるようになるはずです。

そしてここからが本題ですが、普段SSHキーの管理はすべて1passwordで管理しています。この場合に踏み台サーバーには鍵を配置せずに端末側にだけ1passwordを入れている状態で踏み台接続ができるようになれば理想です。

本記事ではその方法について解説しますが、SSHのconfigを貼れば終わる話なのでそろそろこの記事は終わりです。

解説

基本的には普通の踏み台SSHの書き方と変わりません。

1passwordならではの設定としては、IdentityAgentで1passwordのエージェントを指定します。

IdentityFileでSSH接続する公開鍵を指定します。

公開鍵を指定する理由ですが、1Passwordではどのホストにどのキーを利用するかの情報を持っていません。 そのためデフォルトではすべてのキーを総当たりで利用しようとします。6個以上のキーペアを保存しているとSSH接続をする際の試行回数が最大値を超えてしまいます。

そのため、このHostはこの公開鍵とconfigに設定することで、1Passwordのエージェントがどのキーを利用するかを指定しています。

Advanced use cases | 1Password Developer

Learn more about how to use the SSH agent for specific hosts, avoid authentication limits, and sign Git commits in multiple GitHub accounts.

サーバーへの接続設定が増えるたびにここの記載が必要なため、SSHのConfigを1Passwordが管理するような仕様にしてくれると良いのにな……と日々思います。

サイト内の商品リンクは一部アフィリエイトリンクとなっています

関連記事

Apple TVでお手軽にVPNサーバーを構築

Apple TVでお手軽にVPNサーバーを構築

先日、TailscaleというVPN構築サービスのドキュメントを読んでいるとおもしろいページがありました。 Secure your internet traffic on public Wi-Fi using an Apple TV · Tailscale Docs Route Tailscale traffic through your Apple TV for secure, private browsing and access to region-locked content. Apple TVにアプリを入れるだけでVPNサーバーを構築できる……? まじ? Apple TVであれば常時電源ONの状態でTVに繋いでおり、サーバーとして理想的です。一般のご家庭向け製品で改造等も不要でアプリを入れるだけで導入できるVPNサーバーとしては最強製品になるでしょう。
Synology DS215jを223jに移行した

Synology DS215jを223jに移行した

自宅のバックアップ用のNASであるSynology Disk Station 215j、Synologyの製品は基本的に後ろ2桁が販売年になっているため10年間、毎日稼働し続けています。 本来はDS1821で置き換えて引退予定でしたが、 RAID崩壊事件があり16TBのHDDを2台RAID1で再構築して重要なデータをNAS間でバックアップされる環境を構築しました。 そのため、想定していた運用年数を超過してしまいました。Amazonプライムデーセールで割引になっていた223jに置き換えを行いました。 215jと223jの比較 Synology NASキット 2ベイ DS223j クアッドコアCPU搭載 1GBメモリ搭載 ライトユーザー向け 国内正規代理店フィールドレイク取扱品 電話サポート対応品 DiskStation Amazon 項目 DS215j DS223j CPU Marvell Armada 375 88F6720 2コア 800MHz Realtek RTD1619B 4コア 1.7GHz メモリ 512MB DDR3 1GB DDR4 ベイ数 2ベイ 2ベイ ネットワーク 1GbE RJ-45ポート×1 1GbE RJ-45ポート×1 USBポート USB 3.0×1、USB 2.0×1 USB 3.2 Gen 1×2 サイズ 165 × 100 × 225.5mm 165 × 100 × 225.5mm 重量 0.88kg 0.88kg 8年の差がありながら、基本的な仕様や外観はほとんど変わりません。