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

tsh

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]

主なオプション・サブコマンド例

コマンド・オプション説明
loginTeleportクラスタへのログイン(MFA/SSO対応)
sshリモートノードへのSSH接続
kube loginKubernetesクラスタへのログイン・認証
db login / db connectデータベースへの安全な接続
app login / app ls / app sshWebアプリケーションや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・データベース・アプリケーションのセキュア運用に、ぜひ活用してください。