SSH接続をtmuxやscreenで永続化する方法:VPSでの作業効率を向上

SSH接続が切れても作業を継続する方法を解説。tmuxとscreenの使い方、VPSでのセッション管理、永続化テクニックを紹介。

SSHtmuxscreenVPSセッション永続化2026/5/25

SSH接続が切れる問題とその解決策

SSHでリモートサーバーに接続して作業していると、ネットワークの不安定さやタイムアウト、クライアントのクラッシュなどで接続が切れることがあります。そのたびに作業が中断され、再ログインして同じ状態に戻すのは非効率です。そこで役立つのが tmuxscreen といったターミナルマルチプレクサです。これらを使うと、SSHセッションを永続化し、切断後もプロセスを継続できます。

tmuxの基本とインストール

tmuxとは

tmux(ティーマックス)は、ターミナルを複数のウィンドウやペインに分割し、それらを1つのセッションとして管理できるツールです。セッションはバックグラウンドで動作し、SSHが切れてもプロセスは継続します。

インストール方法

  • Ubuntu/Debian
  •   sudo apt update
      sudo apt install tmux
      
  • CentOS/RHEL/Fedora
  •   sudo yum install tmux   # CentOS 7以前
      sudo dnf install tmux   # Fedora/CentOS 8以降
      
  • macOS
  •   brew install tmux
      

    よく使うコマンド

    コマンド説明
    tmux new -s セッション名新しいセッションを作成(名前付き)
    tmux lsセッション一覧を表示
    tmux attach -t セッション名セッションに再接続
    Ctrl+b dセッションからデタッチ(切断)
    Ctrl+b c新しいウィンドウを作成
    Ctrl+b 数字指定したウィンドウに切り替え

    実践例:tmuxで作業を永続化

  • SSHでサーバーにログイン
  • tmux new -s work でセッション作成
  • 作業を実行(例:長時間のスクリプト)
  • Ctrl+b d でデタッチ
  • SSH接続を切断
  • 再度SSHでログインし、tmux attach -t work で再接続 → 作業が継続中
  • screenの基本とインストール

    screenとは

    screenはtmuxよりも歴史のあるターミナルマルチプレクサで、同様にセッションを永続化できます。

    インストール方法

  • Ubuntu/Debian
  •   sudo apt install screen
      
  • CentOS/RHEL/Fedora
  •   sudo yum install screen
      
  • macOS
  •   brew install screen
      

    よく使うコマンド

    コマンド説明
    screen -S セッション名新しいセッションを作成
    screen -lsセッション一覧
    screen -r セッション名セッションに再接続
    Ctrl+a dデタッチ
    Ctrl+a c新しいウィンドウ
    Ctrl+a 数字ウィンドウ切り替え

    screenの注意点

  • デフォルトでスクロールバックバッファが有効(Ctrl+a [ でスクロールモード)
  • 終了するときは exit または Ctrl+a k で強制終了
  • tmuxとscreenの比較

    機能tmuxscreen
    ペイン分割柔軟(垂直・水平自由)制限あり(主に水平)
    設定ファイル~/.tmux.conf~/.screenrc
    カスタマイズ性高い中程度
    デフォルトのキーバインドCtrl+bCtrl+a
    人気現在主流レガシーだが安定

    どちらを選ぶべきか

  • tmux:よりモダンで柔軟性が高く、ペイン分割やカスタマイズに優れる。VPSでの作業にはtmuxが推奨。
  • screen:シンプルで軽量、古い環境でも使える。tmuxがインストールできない場合に。
  • VPSでの実践的な使い方

    1. 自動アタッチの設定

    SSHログイン時に自動的にtmuxセッションにアタッチするには、~/.bashrc に以下を追加します。

    if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
        tmux attach -t default || tmux new -s default
    fi
    

    2. セッション名の管理

    複数のプロジェクトでセッションを分けると便利です。

  • tmux new -s project1
  • tmux new -s project2
  • 3. 長時間ジョブの実行

    例えば、データベースのバックアップやWebスクレイピングなど、長時間かかる処理をtmux/screen内で実行すれば、SSHが切れても安心です。

    4. トラブルシューティング

  • セッションが残っているのにアタッチできないtmux ls で状態を確認。デタッチされていない場合は tmux attach -d -t セッション名 で強制アタッチ。
  • screenのセッションが死んだscreen -wipe でクリーンアップ。

  • *この記事は実際のVPS環境での構築経験に基づいています。料金・スペックは執筆時点のものであり、最新情報は各事業者の公式サイトでご確認ください。*

    まとめ

    SSH接続の永続化にはtmuxまたはscreenが必須のツールです。特にVPSで長時間の作業や監視を行う場合、これらを使いこなすことで作業効率が大幅に向上します。初心者にはtmuxをおすすめしますが、screenも安定して使えます。ぜひ日常のSSHワークフローに取り入れてみてください。