Upgrade to Pro — share decks privately, control downloads, hide ads and more …

さようならSSH鍵、こんにちはゼロトラスト ― AIフレンドリーで快適な自宅鯖SSH

Atalie
November 15, 2026

さようならSSH鍵、こんにちはゼロトラスト ― AIフレンドリーで快適な自宅鯖SSH

自宅鯖でありがちな、「SSH鍵をサーバごとに分けると管理が面倒。でも、同じ鍵をあちこちで使い回すのも怖いよね」という悩み。コーディングエージェントの登場によって、この問題はさらに大きくなりました。人間が使っているSSH鍵をそのままエージェントに渡すわけにもいかないし、かといって専用の鍵を増やして管理するのも大変です。

本トークでは、そんなSSH鍵とアクセス管理の悩みを解決するために、セルフホストのTeleportを導入し、自宅鯖のSSHアクセスをゼロトラスト化した事例を紹介します。

Atalie

November 15, 2026

Transcript

20 slides
  1. “ 宮地 みやじ Atalie CFTO / 最高面白いこと責任者 ” まこと 慎

    (お仕事:26新卒のWebサービスエンジニア) #個人 #ホームラボ #プロダクト開発 活動 @Atalie2m Discord · X · GitHub www.atalie.net 本名 @MakotoMiyaji2m LinkedIn · X · GitHub 3
  2. つらいよね 1 ホームラボが育つ=SSH鍵が管理できない 40 アプリ Hermes Agent, Payload CMS, GrowthBook,

    Rspamd 約 台 DebianとNixOS Slack Bot 翻訳と文章校正、アラート、デプロイ管理 インフラ管理 NetBox, OpenTofu, Ansible, Argo CD, OpenBao 監視 8サービス ネットワーク基盤 Tailscale, CoreDNS, Knot Resolver, step-ca 鍵をサーバごとに分ける → 管理が大変 同じ鍵を使い回す → 怖いし、プライドが許さない 4
  3. 解決策の候補 Tailscale SSHを使う SSH認証もTailscaleに任せる 公開鍵を配らずに接続 接続先とOSユーザを指定 再認証やセッション録画も可能 うちの方針 接続 メッシュVPN

    名前解決 Split DNSでCoreDNSへ TLS証明書 自前のCA(step-ca) Tailscaleは使う。 エコシステムには乗らない 結論:Tailscale SSHは採用しないことに 6
  4. 使用例 人間もエージェントも、tshで接続 人間:自分でログイン 本人確認( )で証明書を取得 エージェント:tbotを常駐させる # MFA $ tsh

    login --proxy=teleport.example.com \ [email protected] $ tsh ls # OS alice $ tsh ssh alice@dns-01 接続先の ユーザは このBotの証明書は1時間 有効。20分ごとに更新 起動後は、証明書の取得と更新を繰り返す # $ tbot start -c ./tbot.yaml # $ tsh --proxy=teleport.example.com \ --identity=./bot/identity \ ssh domus-coding-agent@dns-01 別のターミナル:保存先を指定して接続 このBotは一般ユーザで 接続。rootログインは 設定で禁止 サーバごとに利用者の 公開鍵を登録しなくてよい 8
  5. 1 2 3 1 何を: コマンドの実行 2 誰が: Botの名前 3

    いつ: 時刻(UTC) TeleportのAudit(監査記録)より抜粋(2026年11月14日)。ホスト名はマスク済み 9
  6. TIPS ゼロトラストとは? 信頼の根拠 有効期限 アクセス権 これまで(SSH鍵) 鍵の所持 無期限 鍵の持ち主と同じ ゼロトラスト

    認証した身元 短期(証明書は1時間) 最小権限 SSH鍵は盗まれたら終わる! しかも気づきづらい 10
  7. 注意点 Teleportは銀の弾丸ではない ゼロトラストは、 本当に0ではない SSHより複雑 Teleportが落ちたら? Enterprise限定の機能 接続先は、証明書に署名する認証局を 信頼している Teleport用の認証局を自前で立てている

    単一障害点すぎる。でも家だからセーフ SSOなどは、有償のプランだけ サーバレスの裏にサーバがあるように、ゼロトラストの裏にも信頼がある 12
  8. 期限は3つ。どれも短い 3分 承認まで Slackで人間が承認する → 60秒 開始まで → 実行許可は1回だけ使える 30秒

    終了まで 今回のrootシェルの時間 コマンドごとの許可まではできていない。今後の課題 16
  9. Teleport × Git署名の仕組み 1 2 3 4 Teleport ブローカー エージェント

    GitHub エージェントを認証する Appの秘密鍵で、短期トークンを発行 トークンを使い、コミットを作る そのコミットに署名する 補足:Appの秘密鍵は認証用。コミットに署名する鍵ではない 18
  10. 約40台 仮想も含めたサーバを管理 ユーザを分ける 人間、エージェント、自動化 MFA 生体認証、パスキー ゼロトラスト Teleport 現代的な アクセス管理のOSS

    Slack連携 強い権限を、動的に渡す GitHub App 鍵を渡さずに署名 SSO お金を払えば対応できる プライベート認証局 step-caとTeleportで2つになってしまった 認証、認可、アカウンティングを大幅に楽にできる

Other Decks in Technology