リモート接続,ファイル転送ソフト MobaXterm Personal 版のインストール(winget を使用しない)と利用(Windows 上) 

要約】 本記事では、Windows環境でMobaXterm Home Edition(無料版)を手動でインストールする手順と、SSHリモートログイン、RDPリモートデスクトップ、SFTPファイル転送といった主要な機能の基本的な使い方を解説します。Home Editionには一部機能制限(例: 同時セッション数12まで)がありますが、個人利用には十分な機能を備えています。また、SSH接続で問題が発生した場合の一般的な原因と対処法についても触れます。

目次

  1. MobaXtermとは
  2. ダウンロードとインストール
  3. 基本的な使い方
  4. SSH接続のトラブルシューティング
  5. 関連リンク

MobaXtermとは

MobaXtermは、Windows向けの多機能なリモート接続・ターミナルソフトウェアです。単一のアプリケーションで、SSH、SFTP、Telnet、RDP、VNC、Moshなどの多様なリモートセッションを管理し、組み込みのXサーバー機能によりリモートのX11アプリケーションをWindows上に表示できます。グラフィカルなSFTPブラウザやタブ化されたインターフェースも特徴です。プログラマー、Webマスター、IT管理者など、リモート作業を行う多くのユーザーにとって便利なツールボックスです。

本記事ではHome Edition (無料版) の利用を前提とします。Home Editionは個人利用向けで、主要な機能は利用できますが、以下のようないくつかの制限があります。

これらの制限を超える利用や、商用利用、カスタマイズ機能、プロフェッショナルサポートが必要な場合は、Professional Edition (有料版) の導入を検討してください。

なお、winget を用いたインストールも可能です: winget install --scope machine Mobatek.MobaXterm

ダウンロードとインストール

  1. MobaXterm の公式ウェブページ(https://mobaxterm.mobatek.net/)を開く。
  2. Download」をクリックする。
  3. Home Edition の下の「Download now」をクリックする。
  4. Installer Edition」の方をクリックする。(ポータブル版もありますが、ここではインストーラー版を使用します)
  5. ダウンロードが始まる。
  6. ダウンロードしたZIPファイルを任意の分かりやすいフォルダに保存し、展開(解凍)する。

    Windows標準機能でも展開可能だが、7-Zipなどのアーカイバを使用することもできる。7-Zipについては別ページ »で説明)

  7. 展開(解凍)してできた .msi ファイルを実行(ダブルクリック)する。
  8. ようこそ画面では「Next」をクリックする。
  9. ライセンス条項の確認画面が表示されるので、内容を確認し同意する場合はチェックを入れて「Next」をクリックする。
  10. インストールフォルダは、通常はデフォルトのままでよい。「Next」をクリックする。
  11. インストール準備完了画面で、「Install」をクリックする。
  12. インストールが始まる。管理者権限の昇格が必要な場合があります。
  13. インストール完了画面が表示されたら、「Finish」をクリックする。
  14. 試しにMobaXtermを起動してみる。(スタートメニューやデスクトップショートカットから起動)

基本的な使い方

MobaXtermでは、「Session」機能(セッションマネージャー)を使って様々な接続設定を管理・実行できます。保存したセッションは左側のサイドバーに表示され、ダブルクリックで簡単に再接続できます。

SSH によるリモートログイン

  1. MobaXtermを起動し、メニューバーの「Session」をクリックする。
  2. 表示されるウィンドウで「SSH」アイコンをクリックする。
  3. 以下の情報を入力する。
    • Remote host」フィールドに、接続先のホスト名またはIPアドレスを入力する。
    • Specify username」チェックボックスをオンにし、表示されるフィールドに接続に使用するユーザ名を入力する。
    • (推奨) 公開鍵認証を使用する場合は、「Use private key」チェックボックスをオンにし、秘密鍵ファイル(通常は.pemid_rsaなどの拡張子)へのパスを指定する。

    必要な情報を入力したら「OK」ボタンをクリックする。

  4. 接続が開始され、パスワード認証の場合はパスワードの入力が求められる。コンソールにパスワードを入力する(セキュリティのため、入力内容は表示されない)。

    初回接続時にはホストキーの確認ダイアログが表示される場合がある。「Accept」または「Yes」を選択すると接続が続行される(詳細はトラブルシューティングの該当箇所を参照)。パスワードを保存するか尋ねられる場合もある。

  5. 接続に成功すると、リモートサーバーのコンソールが表示される。

    * 関係のない情報は伏せ字にしている。

  6. (補足) MobaXtermはX11フォワーディング機能がデフォルトで有効になっているため、接続先のX Windowアプリケーション(GUIアプリ、例: xeyes, gedit)を特別な設定なしに起動し、Windows上に表示させることが可能である。

安全面の強化のため SSH の公開鍵認証を使うことが強く推奨される。 その設定手順は、別ページ »で説明する。

RDP によるリモートデスクトップ

  1. MobaXtermで「Session」をクリックする。
  2. 表示されるウィンドウで「RDP」アイコンをクリックする。
  3. 以下の情報を入力する。
    • Remote host」フィールドに、接続したいWindowsマシンのホスト名またはIPアドレスを入力する。
    • Username」フィールドに、接続に使用するユーザ名を入力する。
    • (任意) ポート番号や画面設定などを「Network settings」タブで調整できる。

    必要な情報を入力したら「OK」ボタンをクリックする。

  4. 接続が開始され、パスワードの入力が求められる場合がある。パスワードを入力すると、リモートデスクトップ画面が表示される。

SFTP によるファイル転送

  1. MobaXtermで「Session」をクリックする。
  2. 表示されるウィンドウで「SFTP」アイコンをクリックする。
  3. 以下の情報を入力する。
    • Remote host」フィールドに、接続したいサーバーのホスト名またはIPアドレスを入力する。
    • Username」フィールドに、接続に使用するユーザ名を入力する。
    • (推奨) 公開鍵認証を使用する場合は、「Advanced SFTP settings」タブを開き、「Use private key」チェックボックスをオンにして秘密鍵ファイルへのパスを指定する。

    必要な情報を入力したら「OK」ボタンをクリックする。

  4. パスワード認証の場合はパスワードの入力が求められる。パスワードを入力する。
  5. 接続に成功すると、左ペインにローカル(自身のPC)、右ペインにリモート(接続先)のファイルシステムが表示される(グラフィカルSSHブラウザ)。ファイルのアップロード/ダウンロードは、ペイン間のドラッグ&ドロップや、ファイル/フォルダを選択して上部の転送ボタン(矢印アイコン)をクリックするか、右クリックメニューから行うことができる。ファイルの編集も可能。

SSH接続のトラブルシューティング

接続前の確認事項

SSH接続がうまくいかない場合、まず以下の情報を正確に確認する。

ssh 接続で「ssh: connect to host ... port 22: Connection time out」と表示され接続できない

ssh 接続で「ssh: connect to host your_server_ip port 22: Connection time out」のようなエラーが表示される場合、接続先のサーバーにネットワーク的に到達できていないか、応答がない状態である。

  1. ネットワーク接続の確認:

    まず、接続元PCがインターネットやLANに正しく接続されているか確認する。MobaXtermのローカルターミナル(「Start local terminal」で起動)でping 8.8.8.8(GoogleのDNSサーバー)などを実行し、応答があるか確認する。

    次に、接続先サーバーとの基本的なネットワーク疎通を確認する。ローカルターミナルでping your_server_ipを実行する。

    • 「応答」があれば、ネットワークレベルでは到達可能である可能性が高い。次にファイアウォールやSSHサーバー自体の問題を確認する。
    • 「宛先ホストに到達できません」や「要求がタイムアウトしました」と表示される場合は、IPアドレスやホスト名の間違い、サーバーが起動していない、ネットワーク設定(サブネットマスク、ゲートウェイ)、経路上のルーターやファイアウォールでのブロックなどが考えられる。IPアドレスやネットワーク設定を再確認する。
  2. ポートスキャナーによるSSHポートの確認 (MobaXterm機能):

    MobaXtermの機能で、接続先のSSHポート(通常22)が通信を受け付ける状態(開いている)か確認できる。(注意: 許可なく他者のサーバーに対してポートスキャンを行うことはマナー違反であり、攻撃と見なされる可能性があるため、自身が管理するサーバーまたは許可されたサーバーに対してのみ使用すること。

    MobaXtermのメニューからToolsPorts scanner を選択する。

    「Target hosts/IP addresses」に接続先のIPアドレスを入力し、「Scan port(s) range」に「22」(またはSSHに使用しているポート番号)と入力して「Start scan」をクリックする。

    表示結果を見て判断する。

    • (1)「Port #22 (ssh): listening」または「open」の表示がある場合: サーバー側でSSHサービスは起動しており、ポート22で待ち受けている可能性が高い。それでも接続できない場合、サーバー側のファイアウォール設定(接続元IPアドレスが許可されているか等)や、サーバー側のSSH設定(sshd_config内のAllowUsers, DenyUsers, ListenAddressなど)を確認する。IPアドレスやポート番号を勘違いしていないかも再確認する。
    • (2)「Port #22 (ssh): closed」や「filtered」、または何も表示されない場合: サーバー側でSSHサービスが起動していない、ポート22での通信がファイアウォールで遮断されている、あるいはサーバー自体に到達できていない可能性が高い。サーバー側でSSHサービスの状態確認 (例: systemctl status sshd) や起動、ファイアウォールの設定確認 (例: firewall-cmd --list-all, ufw status)、サーバーの起動状態を確認する。IPアドレスやポート番号を勘違いしていないかも再確認する。
  3. 詳細な接続ログの確認:

    MobaXtermのローカルターミナルで、-vオプション(詳細度を上げる場合は-vv-vvv)を付けてSSH接続を試みることで、どの段階で失敗しているかの詳細な情報を得られる。

    ssh -v your_username@your_server_ip

    出力されるログを確認し、"Connection timed out" がどのステップで発生しているか確認する。例えば、"Connecting to your_server_ip..." の直後であれば、TCP接続自体が確立できていないことを示す。

    debug1: Connecting to your_server_ip [your_server_ip] port 22.
    debug1: connect to address your_server_ip port 22: Connection timed out
    ssh: connect to host your_server_ip port 22: Connection timed out
    

ssh 接続で「ssh_exchange_identification: read: Connection reset by peer」と表示され接続できない

ssh 接続で「ssh_exchange_identification: read: Connection reset by peer」のようなエラーが表示される場合、TCPレベルでの接続は確立できたものの、SSHプロトコルの初期ハンドシェイク(バージョン情報の交換など)の段階でサーバー側から接続が切断されていることを示す。

  1. 考えられる原因:
    • サーバー側の同時接続数制限 (sshd_configMaxStartups ディレクティブ) に達している。サーバーがビジー状態である。
    • サーバー側のファイアウォールや侵入検知/防御システム(IPS/IDS)が、特定の接続元からのSSH接続を不正なものと判断して能動的に遮断している(例: Fail2banなどによるIPブロック)。
    • サーバー側のSSHデーモン (sshd) に一時的な問題が発生している、または設定エラーがある。
    • サーバーの/etc/hosts.allow/etc/hosts.deny (TCP Wrappers) で接続が拒否されている。
  2. 切り分け手順:
    1. 詳細ログの確認: まずssh -v your_username@your_server_ip を実行し、どの段階で "Connection reset by peer" が発生するか確認する。「debug1: Connection established.」が表示された直後、「debug1: Remote protocol version ...」などのプロトコル交換メッセージが表示される前に切断されていることが多い。
    2. サーバー側のログ確認: 可能であれば、サーバー側のシステムログやSSHデーモンのログ (通常 /var/log/auth.log/var/log/securejournalctl -u sshd など) を確認する。接続試行に関するエラーメッセージ(例: 同時接続数超過、アクセス拒否など)が出力されている可能性が高い。
    3. ファイアウォール/IPS/アクセス制御リストの確認: サーバー側のファイアウォール設定、Fail2banなどのIPS/IDSのブロックリスト、TCP Wrappers (hosts.allow, hosts.deny) の設定を確認し、接続元IPアドレスからのSSH接続が意図せず拒否されていないか確認する。
    4. 同時接続数の確認: サーバー側の sshd_config ファイル内の MaxStartups の値を確認し、必要であれば調整する(変更後はsshdサービスの再起動が必要)。
    5. SSHデーモンの再起動: サーバー側でSSHデーモンを再起動してみる (例: systemctl restart sshd)。これにより一時的な問題が解消することがある。
  3. 以上の結果を元にして、原因を特定し対処する。サーバー側の設定変更やログ確認が必要になることが多い。

ssh 接続で「REMOTE HOST IDENTIFICATION HAS CHANGED」と警告表示が出る

ssh 接続時に以下のような「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」という警告が表示されることがある。

これは、以前接続した際にローカルPC(MobaXtermを実行しているPC)の known_hosts ファイル(通常は %UserProfile%\.ssh\known_hosts または MobaXtermの設定ディレクトリ内)に保存された接続先サーバーの公開鍵(ホストキー)と、今回接続しようとしているサーバーが提示したホストキーが異なっていることを示している。SSHでは、このホストキーを使って、接続先サーバーが前回接続したサーバーと同じであることを検証し、なりすましを防いでいるため、これは潜在的なセキュリティリスクを示す重要な警告である。

この警告が表示される主な理由:

対処法:

最優先事項は、なぜホストキーが変わったのか、その理由を確実に確認することである。サーバー管理者への問い合わせ、サーバー構成の変更履歴の確認などを行う。理由が不明な場合や、少しでも疑わしい場合は、絶対に接続を継続せず、原因を徹底的に調査すること。

理由が正当である(サーバーの再構築など)と100%確信できた場合のみ、以下の手順でローカルに保存されている古いホストキーを削除し、新しいホストキーを受け入れる。

  1. MobaXtermの警告ダイアログでの対処:

    MobaXtermでこの警告に遭遇した場合、テキストベースの警告メッセージに加えて、接続を継続するかどうかを尋ねるダイアログが表示されることがある。(表示されない場合もある)

    サーバー変更が正当なものであると確認できた場合のみ、「はい (Yes)」や「一度だけ許可 (Accept once)」、「常に許可 (Accept permanently)」などを選択する。(選択肢はバージョンや状況による) これにより、古いホストキーが破棄されるか無視され、新しいホストキーが known_hosts ファイルに保存される(または一時的に受け入れられる)。

  2. コマンドラインでの対処 (`ssh-keygen -R`コマンド):

    MobaXtermのローカルターミナルや、Windowsのコマンドプロンプト、PowerShellなどで以下のコマンドを実行して、指定したホスト(IPアドレスまたはホスト名)の古いホストキーをknown_hostsファイルから削除する方が確実である。

    ssh-keygen -R your_server_ip

    または

    ssh-keygen -R your_hostname

    このコマンド実行後、再度SSH接続を試みると、初回接続時と同様に新しいホストキーを受け入れるかどうかの確認が表示される。「Are you sure you want to continue connecting (yes/no/[fingerprint])?」と聞かれたら、フィンガープリントを確認の上(可能であれば)、`yes`と入力する。

    * 注意: このコマンドはローカルの記録を削除するだけである。ホストキーが変わった根本原因が中間者攻撃であった場合、この操作はリスクを伴う。必ず原因を確認してから実行すること。

  3. 接続後の確認:

    新しいホストキーを受け入れて接続した後、以下の点を確認する。

    • 接続時のメッセージに「Warning: Permanently added 'your_server_ip' (ED25519) to the list of known hosts.」のように、新しいホストキーが追加された旨のメッセージが表示されることを確認する。
    • 接続後に表示される可能性のある「Last login: <日時> from <IPアドレス>」の情報を確認し、前回のログイン時刻や場所に心当たりがあるか確認する。身に覚えのない履歴がある場合は、不正アクセスの可能性を疑う。

    * 上図では、関係のない情報は伏せ字にしている。

関連リンク