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

要約Windows上でMobaXTerm Personal版のインストールを行うには,MobaXTermのウェブページから「Installer Edition」をダウンロードして,展開(解凍)する.その後,.msiファイルを起動し,指示に従ってインストールする.主な機能としてSSHリモートログイン,RDPリモートデスクトップ,SFTPファイル転送がある.「Session」をクリックし,「SSH」,「RDP」,「SFTP」を選択し,「Remote host」に接続先ホスト名やIPアドレス,そしてユーザ名を入力する.その後,パスワードが求められたときにはパスワードを入力する.接続がうまくいかないときはIPアドレスの確認や接続テストを行う.

目次

  1. ダウンロードとインストール
  2. 主な機能
  3. うまく接続できないときの対処の手がかり

ファイル転送とリモート接続のツール MobaXTerm

リモート接続ツール

主な機能:SSH,Telnet,RDP,X11サーバー内蔵,タブ化されたメニュー

winget を用いたインストールコマンド: winget install --scope machine Mobatek.MobaXterm

関連する外部ページ

関連項目MobaXTerm のインストール(Windows 上)

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

  1. MobaXTerm の ウェブページを開く.

    https://mobaxterm.mobatek.net/

  2. Download」をクリック
  3. Home Edition の下の「Download now」をクリック.
  4. Installer Edition」の方をクリック.
  5. ダウンロードが始まる.
  6. ダウンロードした .zip ファイルを展開(解凍)する.分かりやすいディレクトリに置く.

    Windows での展開(解凍)に便利な 7-Zip: 別ページ »で説明

  7. 展開(解凍)してできた .msi ファイルを起動.
  8. ようこそ画面では「Next」をクリック.
  9. ライセンス条項の確認
  10. インストールディレクトリ(フォルダ)は,既定(デフォルト)のままでよい.「Next」をクリック.
  11. インストールしたいので,「Install」をクリック.
  12. インストールが始まる
  13. インストール終了の確認
  14. 試しに起動してみる.

主な機能

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

  1. MobaXTerm で「Session」をクリック
  2. SSH」をクリック
  3. Remote host」 のところに,接続したいホスト名(あるいは IPアドレス). Specify username をチェックし,ユーザ名を入れる.

    キーペア(公開鍵,秘密鍵)を使うときは, 「Use private key」をチェックして,秘密鍵のファイル名を設定する.

    以上が終わったら「OK」をクリック. その後,パスワードが要求されたときは,パスワードを入れる.

  4. 接続先の X Window アプリケーションを開くこともできる.

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

  1. MobaXTerm で「Session」をクリック
  2. RDP」をクリック
  3. Remote host」 のところに,接続したいホスト名(あるいは IPアドレス). 「Username」のところに,ユーザ名を入れる.

    以上が終わったら「OK」をクリック. その後,パスワードが要求されたときは,パスワードを入れる.

SFTP によるファイル転送

  1. MobaXTerm で「Session」をクリック
  2. SFTP」をクリック
  3. Remote host」 のところに,接続したいホスト名(あるいは IPアドレス). 「Username」のところに,ユーザ名を入れる.

    キーペア(公開鍵,秘密鍵)を使うときは, 「Use private key」をチェックして,秘密鍵のファイル名を設定する.

    以上が終わったら「OK」をクリック.

  4. その後,パスワードが要求されたときは,パスワードを入れる.
  5. 接続先のマシンのファイルが表示される.この画面でファイル転送できる.

うまく接続できないときの対処の手がかり

小目次

  1. 事前に確認しておく事項
  2. 接続してみる
  3. ssh 接続で「ssh: connect to host ... port 22: Connection time out」と表示され接続できない
  4. ssh 接続で「ssh_exchange_identification: read: Connection reset by peer」と表示され接続できない
  5. ssh 接続で「REMOTE HOST IDENTIFICATION HAS CHANGED」と警告表示が出る

事前に確認しておく事項

このページでは,「ssh」で接続を行いたいものとして手順を説明する.


接続してみる

  1. MobaXTerm を起動する
  2. Start local terminal」をクリック
  3. ssh -l <接続のためのユーザ名> <接続先の IP アドレス>」を実行
  4. パスワードを入れる

    パスワードは画面表示されないのは正常動作である.(キーボードのキーを押しても表示されないが,動作はしている)

  5. 確認表示が表示された場合には,「Yes」を選ぶ
  6. 接続成功を確認する

    * 下図では,関係のないものは伏せ字にしている.

安全面の強化のため SSH の公開鍵,秘密鍵を使うことが多い. その設定手順は,別ページ »で説明

Windows マシンから SSH でリモート接続できないときのヒント

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

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

  1. まず,相手先と通信できるのかの情報を得る. そのために,MobaXTermPorts scannerを使う.

    MobaXTermPorts scannerは,相手先の通信を調べるためのもの.(他人のマシンに対して,このツールを使うのは避けること.相手に迷惑がかかる.マナー違反である.

    MobaXTerm で,Tools → Ports scanner と操作する

  2. IP アドレスのところに,<接続先の IP アドレス>を設定し,「Start scan」をクリック
  3. 表示結果を見て判断する

    (1)「-Port #22 (ssh): listening」の表示がある場合.

    この表示からは,「相手先とは通信できる」ことと,「相手先では ssh サーバが稼働している」ことが分かる. ファイアウオールの設定などを確認すること. 相手先の IP アドレスを勘違いしていないかも確認すること.

    (2)「-Port #22 (ssh): listening」の表示がないが,他の表示がある場合.

    この表示からは,「相手先とは通信できる」ことは分かる. 相手先で ssh サーバが稼働しているかしていないか,ssh の通信をファイアウオールで完全に遮断していないかを確認すること. 相手先の IP アドレスを勘違いしていないかも確認すること.

    (3)何も表示されない場合

    この表示からは,「相手先とは通信できないらしいと判断される. 相手先の IP アドレスを勘違いしていないかも確認すること.

  4. 確認のため,MobaXTerm で,「arp -a」を実行

    次のように「ARP エントリが見つかりませんでした」と表示される場合は,MobaXTerm を使っているパソコンがネットワークに繋がっていないので対処する.

    それ以外の表示が出る場合には,MobaXTerm を使っているパソコンはネットワークに繋がっており,その点では問題はないだろうと判断.

  5. 確認のため,MobaXTerm で,「ping <接続先の IP アドレス>」を実行

    (1)次のように「宛先ホストに到達できません」と表示される場合.

    この表示からは, やはり, 「相手先とは通信できないらしいと判断される. 相手先の IP アドレスを勘違いしていないかも確認すること.

    (2)次のように「xxx.xxx.xxx.xxx からの応答: バイト数 = ...」と表示される場合.

    この表示からは,「相手先とは通信できる」ことは分かる. 相手先で ssh サーバが稼働しているかしていないか,ssh の通信をファイアウオールで完全に遮断していないかを確認すること. 相手先の IP アドレスを勘違いしていないかも確認すること.

  6. 確認のため,MobaXTerm で,「ssh -v -l <接続のためのユーザ名> <接続先の IP アドレス>」を実行

    *-v」を付けている.

    次のように表示される場合には,やはり, 「相手先とは通信できないらしいと判断される. 相手先の IP アドレスを勘違いしていないかも確認すること.

    debug1: connect to address xxx.xxx.xxx.xxx port 22: Connection time out
    ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection time out
    

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

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

  1. 次の可能性がある.
    • 相手先とは通信できる
    • 相手先では ssh サーバが稼働している
    • ファイヤウオールで ssh 通信を遮断している可能性がある,相手先で ssh バージョン 1 を受け入れるが,ssh バージョン 2 は受け入れないようになっている可能性がある
  2. 「相手先とは通信できる」ことと,「相手先では ssh サーバが稼働している」ことを,次の手順で確認する.
    1. MobaXTerm で,「ssh -v -l <接続のためのユーザ名> <接続先の IP アドレス>」を実行

      *-v」を付けている.

    2. debug1: Connection established.」というような表示があれば, 「相手先とは通信できる」ことと,「相手先では ssh サーバが稼働している」ことが分かる.
  3. 相手先で稼働している ssh サーバのバージョンを,次の手順で確認する.
    1. MobaXTerm で,「telnet <接続のためのユーザ名> 22」を実行
    2. 相手先で稼働している ssh サーバのバージョンが表示されるはずなので,表示を確認する
  4. 以上の結果を元にして,ファイヤウオールで ssh 通信を遮断している可能性がある,相手先で ssh バージョン 1 を受け入れるが,ssh バージョン 2 は受け入れないようになっている可能性があると判断. ファイヤウオールの設定を確認するなどで対処.

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

ssh 接続で「REMOTE HOST IDENTIFICATION HAS CHANGED」と警告表示が出た場合.

ssh では,初回接続時に,接続先のコンピュータを「証明書」が自動作成され,保存される. この「証明書」は,悪意のあるサイトに誘導されないための大事な仕掛けである.

接続先のコンピュータが交換された,接続先のコンピュータの IP アドレスが変更された,接続先のオペレーティングシステムが交換された場合では, 手元の「証明書」を次の手順で更新する.

交換した覚えが無いときは, 悪意のあるサイトへの誘導である可能性がある.十分に確認しながら行うこと. (利用者自身で判断すること

  1. 警告表示に対して,「はい」をクリックすると,現在の「証明書」は破棄され,新しい証明書が発行される.

    悪意のあるサイトへの誘導はないか,十分に確認しながら行うこと.(利用者自身で判断すること

  2. 表示を確認する

    「Warning: Permanently added ...」と表示され,証明書が更新されたことを確認する.

    「Last loing: <日時>」の表示が出たときは,前回 ssh で接続したときの日時であるか,確認する(違う場合には,悪意のあるサイトの誘導である可能性がある)

    接続に成功したことを確認する

    * 下図では,関係のないものは伏せ字にしている.

    * 証明書の更新の失敗しているときは,「ssh-keygen -R <接続先の IP アドレス>」を実行し,表示をみて,分析する. (このコマンドは,現在の「証明書」は破棄され,新しい証明書が発行するコマンドなので,むやみに実行してはいけない.利用者自身で判断すること