tsh(Teleport):ゼロトラスト時代のSSHクライアント

目次
tsh(Teleport)コマンドについての概要と詳細
tshコマンドとは
tsh
は、オープンソースのセキュアなリモートアクセスプラットフォーム「Teleport(テレポート)」のクライアントコマンドです。Teleportは、SSHやKubernetes、データベース、Windowsリモートデスクトップ、アプリケーションへのアクセス管理と監査ログの集中管理を実現する最新のゼロトラスト対応プラットフォームです。tsh
コマンドは、そのTeleportクラスタへの認証、セッション接続、アクセス権管理、監査証跡の取得など、幅広い機能をCLIから操作できます。
主な用途
- TeleportクラスタへのセキュアなSSH・Kubernetes・データベース・アプリケーションアクセス
- 多要素認証(MFA)・シングルサインオン(SSO)による認証とシームレスなアクセス管理
- アクセス証跡やセッション録画など監査目的の運用
- 企業・組織における統合アクセスガバナンスの実現
主な特徴
- マルチプロトコル対応:SSH、Kubernetes、PostgreSQL、MySQL、MongoDB、Windows RDPなど多種多様なリソースへのアクセスを一元管理
- 高度な認証機構:SSO(SAML, OIDC, GitHub)、MFA(TOTP, U2F, WebAuthn)をサポート
- ゼロトラスト対応:厳格なアイデンティティ管理と動的なアクセスコントロール
- セッション監査&証跡:すべてのアクセスやセッションを記録し、後から再生・監査が可能
- クロスプラットフォーム:Linux、macOS、Windowsで動作し、Web UIやCLI両対応
基本的な使い方
# Teleportクラスタへログイン(SSO/MFAに対応) tsh login --proxy=proxy.example.com # SSH接続 tsh ssh user@node.example.com # Kubernetesクラスタへの認証・操作 tsh kube login kubectl get pods # データベースへの安全な接続 tsh db login --db-name=mydb tsh db connect mydb # アプリケーションへのアクセス tsh app login appname tsh app ls tsh app ssh appname # 利用可能なリソースの一覧 tsh ls # セッション録画の再生や監査 tsh sessions ls tsh sessions play [session-id]
主なオプション・サブコマンド例
コマンド・オプション | 説明 |
---|---|
login | Teleportクラスタへのログイン(MFA/SSO対応) |
ssh | リモートノードへのSSH接続 |
kube login | Kubernetesクラスタへのログイン・認証 |
db login / db connect | データベースへの安全な接続 |
app login / app ls / app ssh | WebアプリケーションやHTTPサービスへのアクセス |
ls | 利用可能なサーバやリソース一覧の表示 |
sessions ls / sessions play | 過去のセッション履歴の表示・録画再生 |
status | 現在の認証・接続ステータス確認 |
logout | ログアウトして認証情報を削除 |
インストール方法
RPM系(RedHat, CentOS, Fedoraなど)
$ sudo dnf install teleport
Debian系(Debian, Ubuntuなど)
$ sudo apt install teleport
その他・最新版の導入: Teleport公式ダウンロードページから各OS用バイナリを取得可能
まとめ
tsh(Teleport)は、従来のSSHやVPNを超えた現代的なアクセス管理と監査を実現するツールです。SSOやMFA、セッション監査や証跡記録を組み合わせることで、セキュリティと利便性を両立したリモートアクセス基盤を構築できます。サーバ・クラウド・Kubernetes・データベース・アプリケーションのセキュア運用に、ぜひ活用してください。