Guide

Tera Term の代わりをスマホで:iPhone / Android への移行ガイド(2026年版)

Tera Term は Windows 専用なので、スマホ版は存在しません。移行のコツは「Tera Term アプリを探す」のをやめて、Tera Term が担っている4つの役割 ―― SSH 接続・シリアルコンソール・TTL マクロ・ログ保存 ―― に分解し、それぞれ別の手段で置き換えることです。SSH はスマホの SSH アプリでそのまま置き換わり、シリアルだけは Android の USB OTG か、コンソールサーバーを立てる必要があります。

CC Chen Chen· Founder·2026-08-12·13 分で読めます

結論:「Tera Term のスマホ版」は無い。役割を分解する

Tera Term は Windows 専用なので、iPhone 版も Android 版も存在しません。 公式のモバイル版はなく、移植版もありません。App Store や Google Play で似た名前のアプリが出てきても、それは Tera Term Project とは無関係の別アプリです。

移行のコツは、「Tera Term アプリを探す」のをやめて、Tera Term が担っている役割を分解することです。Tera Term は4つの別々の仕事を1本のアプリに束ねています。スマホでは、それぞれ違う手段で置き換わります。

Tera Term の役割スマホでの置き換え難易度
SSH でサーバーに入るiPhone / Android の SSH クライアントそのまま置き換わる
シリアル(COM)コンソールAndroid は USB OTG で直結可。iPhone は不可 → コンソールサーバー経由要工夫
TTL マクロによる自動化サーバー側のシェルスクリプト + 鍵認証。マクロは移植せず廃止設計変更
ログ保存・文字化け対応アプリのセッションログ、または script / tee + SFTP で回収そのまま置き換わる

つまり、日常業務の9割を占める「SSH でサーバーに入って作業する」部分は、スマホの SSH アプリでそのまま代替できます。 引っかかるのは、シリアルコンソールと TTL マクロという Tera Term 固有の2点だけです。以下、それぞれ具体的にどうするかを説明します。

なお前提として、Tera Term 自体は捨てる必要がありません。 Windows の席にいるときは Tera Term、外出中や現場ではスマホ、という併用が普通の落としどころです。この記事は「Tera Term をやめる方法」ではなく、「Tera Term が手元に無い場所で同じ仕事をする方法」です。

Tera Term が実際に担っている4つの役割

置き換えを考える前に、いま何を使っているのかを確認しておきます。

Tera Term は1994年に寺西高氏が公開した端末エミュレータで、現在は BSD ライセンスのオープンソースとして Tera Term Project が開発しています。DEC VT100 から VT382 までの端末エミュレーション、Telnet、SSH1 / SSH2、シリアルポート接続に対応し、TTL(Tera Term Language)というマクロ言語を内蔵しています(Wikipedia: Tera Term)。

2026年時点の状況も押さえておきましょう。移行の判断材料になります。

  • 最新版は 5.6.2(2026年7月16日、安定版リリース)。 その前の定期リリース 5.6.0 は2026年2月28日公開です。Tera Term 5 系は年2回(2月・8月末)の定期リリースに加え、不定期に安定版がリリースされる方針で開発が続いています(GitHub Releases)。
  • 5.0 は2023年10月16日リリースで、2005年1月以来18年ぶりのメジャーバージョンアップでした。 内部バッファ・描画・キー入力までターミナル処理が Unicode 化され、SSH の rsa-sha2-256/512 に対応し、動作環境が Windows 7 以上になりました(窓の杜)。4 系は v4.107 が最後のリリース予定とされています。
  • 公式サイトは OSDN から GitHub Pages へ移転しました。 OSDN のサービス不調を受けたもので、現在の公式サイトは teratermproject.github.io、開発は GitHub の TeraTermProject/teraterm リポジトリです(窓の杜)。社内 Wiki に ttssh2.osdn.jp のリンクが残っている場合は差し替えておいてください。

要するに Tera Term は死んでいません。Windows の席にいる限り、乗り換える理由は特にありません。 問題は Windows の席にいないときだけです。

1. SSH 接続:ここはそのまま置き換わる

Tera Term の用途の大半はこれのはずです。そしてここは何の工夫もなくスマホに移せます。 SSH はプロトコルであって Tera Term の機能ではないので、どのクライアントから繋いでも同じサーバーに同じように入れます。

移行の実務は3ステップです。

ステップ1:スマホ側で新しい鍵を作る。 PC の秘密鍵をコピーしてこないでください。TTSSH の鍵生成が出力する秘密鍵は OpenSSH 形式なのでインポート自体は動きますが、コピーの経路(クリップボード、メール添付、クラウドストレージ)がそのまま新しい漏洩点になります。スマホの SSH アプリで端末内生成し、コメントに iphone-2026 のように端末名を入れておきます(iPhone で SSH 鍵を作成する方法)。鍵をスマホに置くこと自体の安全性については SSH 秘密鍵をスマホに置くのは安全か で詳しく扱っています。結論だけ言えば、エクスポート不可の鍵ストア(iOS Keychain / Android Keystore)に端末内生成で入っているなら、PC の ~/.ssh に平文で置くより安全です。

ステップ2:公開鍵をサーバーに追記する。 既存の PC からの接続はそのまま残るので、切り替えではなく追加です。手順は ssh-copy-id の使い方 を参照してください。

ステップ3:ホストを登録する。 Tera Term の「ホストの履歴」に相当するものです。ここで押さえておきたいのが、~/.ssh/config を書けるアプリなら、その設定が Windows でも Mac でも Linux でもスマホでもそのまま通用するという点です。

Host web01
    HostName 10.0.1.10
    User ops
    Port 22
    IdentityFile ~/.ssh/id_ed25519_iphone
    IdentitiesOnly yes
    ServerAliveInterval 30
    ServerAliveCountMax 3

ServerAliveInterval はモバイル回線では実質必須です。NAT のタイムアウトでセッションが黙って死ぬのを防ぎます。IdentitiesOnly yes も入れておいてください。書かないとクライアントが手持ちの鍵を順に試し、サーバー側で Too many authentication failures を食らいます(原因と対処)。config の書き方全般は SSH config ファイルの書き方 にまとめています。

Windows 側でも同じことが言えます。Windows 10 バージョン1803以降、OpenSSH クライアントは既定でインストールされているので、Windows Terminal から ssh web01 が普通に通ります。SSH の設定を Tera Term の中ではなく ~/.ssh/config に持っておけば、端末が変わっても運用が崩れません。これは Tera Term をやめる話ではなく、設定の置き場所を1箇所に寄せる話です。

Telnet についても触れておくと、Tera Term で Telnet を使っている接続先が残っている場合、それはスマホ移行以前の課題です。Telnet は認証情報を含む全通信が平文で流れます。移行を機に SSH へ切り替えてください(SSH とは何か)。

2. シリアルコンソール:Android は可、iPhone は不可

ここが Tera Term からの移行で唯一まともに詰まる箇所です。Tera Term を「ネットワーク機器や組込み機器のコンソールを取る道具」として使っている場合、スマホでの扱いは OS によって決定的に違います。

Android:USB OTG で直結できる

Android 端末が USB ホストモード(USB OTG)に対応していれば、USB-シリアル変換ケーブルを直結してコンソールが取れます。 Serial USB Terminal のようなアプリが、FTDI FT232 / FT2232、Prolific PL2303、Silicon Labs CP2102 / CP2105、WCH CH340 / CH341 といった主要な変換チップと、USB CDC を実装したデバイス(ATmega32U4 の Arduino、micro:bit など)に対応しています(Google Play)。

必要なものは次の3点です。

  • USB OTG(USB ホストモード)対応の Android 端末
  • OTG アダプタ、または USB-C 同士の直結ケーブル
  • 機器付属の USB-シリアル変換コンソールケーブル

ボーレートは機器の仕様に合わせます。ネットワーク機器のコンソールは 9600 8N1 が既定になっていることが多いです。現場でノート PC を開かずにスイッチの初期設定を入れる、といった用途はこれで足ります。

iPhone:直結は諦めてネットワークに逃がす

iPhone に USB-シリアル変換ケーブルを挿してコンソールを取る方法は、実用的には存在しません。 iOS はサードパーティアプリから汎用の USB シリアル変換チップを直接扱う手段を提供していないためです。ここで粘るのは時間の無駄です。

代わりに、シリアルポートをネットワーク側に逃がします。 一番安上がりな構成はこれです。

  1. Raspberry Pi などの小型 Linux 機を、対象機器の近くに常設する。
  2. USB-シリアル変換ケーブルをその Linux 機に挿しっぱなしにする(/dev/ttyUSB0 として見えます)。
  3. スマホからはその Linux 機に SSH で入り、screen /dev/ttyUSB0 9600 でコンソールに入る。
sudo screen /dev/ttyUSB0 9600
# 抜けるときは Ctrl-a → k → y

これなら iPhone からでも問題なくコンソールが取れます。事実上、Linux 機が「ネットワーク越しの Tera Term」の役をしているわけです。複数ポートを恒常的に公開したい場合は ser2net を使ってシリアルポートを TCP ポートに割り当てる方法もあります。データセンターやラックに恒久設備として組むなら、市販のシリアルコンソールサーバーを1台入れるのが確実です。

副次的な利点として、この構成は現場に行かなくてもコンソールが取れるようになります。「機器がネットワークから落ちたのでコンソールを見に行く」という移動そのものが消えるので、スマホ対応というより運用の改善になります。

3. TTL マクロの代わりをどうするか

TTL(Tera Term Language)は BASIC 風のインタプリタ言語で、connect / wait / sendln を並べてログインや定型作業を自動化するのに使われてきました。これをスマホに移植する方法はありません。そして、移植すべきでもありません。

TTL マクロは用途別に、それぞれ別の手段へ置き換えます。

自動ログインのマクロ → 公開鍵認証にする。 wait "password:" して sendln でパスワードを流し込むマクロは、マクロファイルに平文パスワードが書かれているのが普通です。これは端末を移行するかどうかとは無関係に、そのままにしておくべきではない構成です。鍵認証にすればログインは自動的に通るので、マクロ自体が要らなくなります(SSH 鍵とパスワードの違い、パスワードなしの SSH ログイン)。

定型作業のマクロ → サーバー側のシェルスクリプトにする。 ログイン後に決まった手順を流すマクロは、その中身をサーバー側の1本のスクリプトにまとめます。

# サーバー側: /usr/local/bin/health.sh
#!/bin/sh
uptime
df -h /
systemctl is-active nginx postgresql
journalctl -p err --since "1 hour ago" --no-pager | tail -20

スマホからはこれを1行で呼びます。

ssh web01 /usr/local/bin/health.sh

この形にすると、Windows の Tera Term からでも、Mac からでも、スマホからでも、まったく同じコマンドで同じ結果が得られます。 自動化のロジックがクライアント側(Tera Term)ではなくサーバー側にあるからです。マクロを移植するのではなく、置き場所を変えるのが正解です。

複数台に同じ処理 → ループで回す。 Tera Term のマクロで台数分の接続を繰り返していた処理は、シェルの for ループで済みます。

for h in web01 web02 web03; do
  echo "=== $h ==="
  ssh "$h" 'systemctl is-active nginx'
done

定期実行のマクロ → cron / systemd timer にする。 スマホはスリープし、アプリはバックグラウンドで止められ、回線も切れます。スケジューラとしてスマホを使ってはいけません。 定期実行はサーバー側の cron か systemd timer に置き、スマホは「結果を見る」「例外時に手を入れる」ための窓として使います。

長時間かかる処理 → tmux の中で流す。 モバイル回線では接続が切れます。切れても処理を生き残らせるには、最終ホストで tmux を使うのが唯一確実な方法です。再接続して tmux attach で戻れます(SSH 切断後もプロセスを生かす)。

そして、スマホでの打鍵量そのものを減らす手段も併せて考えてください。ソフトウェアキーボードで journalctl -u nginx --since "10 min ago" -p err --no-pager を打つのは苦行です。よく使うコマンドはアプリのスニペットに登録するか、AI にコマンドを組み立てさせて確認してから実行する形にすると、実用速度になります(AI にコマンドを書かせる)。

4. ログ保存と文字化け

Tera Term の「ログ」機能(タイムスタンプ付きの自動ログ収集を含む)は、作業証跡として運用に組み込まれていることが多い部分です。スマホ側では2通りの考え方があります。

アプリ側で取る。 SSH アプリのセッションログやテキストのコピー機能を使います。手軽ですが、アプリによって機能差が大きく、長時間の作業には向きません。

サーバー側で取る。 確実なのはこちらです。作業の頭で script を仕掛けてしまえば、クライアントが何であろうと同じ形式の記録が残ります。

script -f -q ~/logs/$(date +%F_%H%M)_maint.log
# 以降の操作がすべて記録される。終了は exit

出来上がったログは SFTP で手元に落とすか、そのままサーバーに保管します(SSH でファイルを転送する)。証跡をクライアント端末に置かないという点で、監査の観点からはむしろ Tera Term のローカルログより筋が良い構成です。

文字化けについては、Tera Term ユーザーは特に注意が必要です。Tera Term は日本の現場で長く使われてきた経緯から、Shift_JIS / CP932 の接続先が残っていることが珍しくありません。Tera Term 5 では内部処理が Unicode 化されましたが、サーバー側が CP932 を吐いていれば、受け側のスマホアプリでは化けます。ログファイルを読むだけなら変換して読むのが早いです。

iconv -f CP932 -t UTF-8 app.log | less

SHIFT_JIS ではなく CP932 を指定するのが要点です。日本の業務システムのファイルはほぼ Windows 由来の CP932(Windows-31J)で、①、㈱、№ といった機種依存文字の符号位置が標準の Shift_JIS と異なるため、SHIFT_JIS を指定すると iconv: illegal input sequence で止まります。ロケール設定、豆腐(□)、罫線のズレ、そしてスマホの SSH アプリで日本語入力が壊れる構造的な理由については SSH アプリの日本語入力と文字化けを直す にまとめてあります。

社内サーバーに外から届かせる

Tera Term を使っている環境の多くは社内 LAN 前提です。オフィスの席から 10.0.1.10 に繋がるのは、同じネットワークにいるからにすぎません。スマホをモバイル回線で使う以上、ここが最初の壁になります。

選択肢は3つです。

1. Tailscale などのオーバーレイネットワーク。 22番をインターネットに公開せず、対象サーバーとスマホを同じ仮想ネットワークに入れます。CGNAT 配下でも動き、端末を失くしたら管理コンソールでそのデバイスを失効させるだけです。スマホ運用としては最も単純で、失敗する箇所が最も少ない構成です(Tailscale SSH の使い方、Tailscale と WireGuard の違い)。

2. 踏み台(bastion)経由。 すでに踏み台があり、監査要件で全アクセスを1点に集約する必要があるならこちらです。スマホからは ProxyJump(ssh -J)を使います。エージェント転送(ssh -A)は使わないでください ―― 踏み台上に「あなたの鍵で署名させられる窓口」を開く操作だからです。詳細は スマホから踏み台経由で SSH する方法 に。

3. VPN。 会社支給の VPN があるなら、それに繋いでから SSH アプリを開くだけです。ただしスマホの VPN は回線切り替えで落ちやすく、SSH セッションも道連れになります。ServerAliveInterval と tmux は入れておいてください。

22番をインターネットに直接公開するのは、この3つが全部使えない場合の最後の手段です。やるなら公開鍵認証のみ(PasswordAuthentication no)、root ログイン禁止、fail2ban は最低条件です(root ログインの無効化、fail2ban で SSH を守る)。ポート番号を変えるのは総当たりログのノイズを減らす効果しかなく、セキュリティ対策ではありません(SSH ポートの変更)。

移行チェックリスト

Tera Term でやっていることを1つずつ潰していく順番です。上から順にやれば、詰まる箇所が最後に残ります。

#やること確認できたら
1スマホ側で SSH 鍵を端末内生成する(PC からコピーしない)コメントに端末名が入っている
2公開鍵を対象サーバーの authorized_keys に追記するPC からの接続は今まで通り動く
3社内サーバーへの到達手段を決める(Tailscale / 踏み台 / VPN)モバイル回線から接続できる
4ホストを登録する(可能なら ~/.ssh/config 形式で)ServerAliveInterval を設定済み
5TTL の自動ログインマクロを廃止し、鍵認証に一本化する平文パスワードのマクロが残っていない
6定型作業のマクロをサーバー側スクリプトに移すssh host /path/script.sh で同じ結果が出る
7定期実行を cron / systemd timer に移すスマホがスケジューラになっていない
8長時間処理用に対象サーバーへ tmux を入れる切断しても処理が生き残る
9シリアル接続の要否を確認する(Android 直結 / コンソールサーバー)iPhone なら Linux 機を経由する構成になっている
10ログ取得の方法を決める(script + SFTP 回収)作業証跡が残る
11CP932 の接続先を洗い出し、iconv の手順を控えておく化けたログを読める

9番だけは環境によって手間がかかりますが、それ以外は1〜2時間で片付く作業です。

TermAI での運用

TermAI は iOS / Android の SSH・SFTP クライアントです。この記事の文脈でいうと、Tera Term の4つの役割のうち SSH・SFTP・ログ・到達性の部分を1つのアプリで引き受ける位置づけになります。

到達性は内蔵の Tailscale で解決できます。 社内サーバーに 22番を公開させることなく、また踏み台を経由させることもなく、スマホから直接到達できます。踏み台が外せない環境では、踏み台をホストとして登録して経由先に指定する形も取れます(スマホからサーバーを管理する)。

鍵は端末内で生成またはインポートされ、iOS Keychain / Android Keystore に保管されます。 秘密鍵がサーバーに送信されることはありません。TTL マクロに平文パスワードを書いていた運用から移行するなら、ここが移行先になります。

AI 機能は意図的に「提案型」です。 journalctl -u nginx --since "10 min ago" -p err のようなコマンドを入力行に書くだけで、実行するかどうかは人が判断します。TTL マクロの自動化をそのままスマホに持ち込まない、という本記事の方針と同じ考え方です。本番サーバーで確認なしにコマンドが走る設計は選んでいません(AI のシェル提案をどこまで信じるか)。ソフトキーボードでの打鍵量が減るので、Tera Term でコマンド履歴に頼っていた作業のスマホ版として実用になります。

無料枠は AI 提案が1日5回、SSH と SFTP は無制限です。シリアルコンソールには対応していません ―― 前述の通り、これは iOS の制約であってアプリの選択で解決する問題ではないので、コンソールサーバーを1台立てて SSH 越しに入る構成にしてください。

よくある質問

TermAI を試す

iOS / Android で無料。無料プランは AI 5回/日、SSH/SFTP 無制限、Tailscale 内蔵。

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.