リモート接続,ファイル転送ソフト MobaXterm Personal 版のインストール(winget を使用しない)と利用(Windows 上)
【要約】 Windows上でMobaXTerm Personal版のインストールを行うには,MobaXTermのウェブページから「Installer Edition」をダウンロードして,展開(解凍)する.その後,.msiファイルを起動し,指示に従ってインストールする.主な機能としてSSHリモートログイン,RDPリモートデスクトップ,SFTPファイル転送がある.「Session」をクリックし,「SSH」,「RDP」,「SFTP」を選択し,「Remote host」に接続先ホスト名やIPアドレス,そしてユーザ名を入力する.その後,パスワードが求められたときにはパスワードを入力する.接続がうまくいかないときはIPアドレスの確認や接続テストを行う.
【目次】
ファイル転送とリモート接続のツール MobaXTerm
リモート接続ツール
主な機能:SSH,Telnet,RDP,X11サーバー内蔵,タブ化されたメニュー
winget を用いたインストールコマンド: winget install --scope machine Mobatek.MobaXterm
【関連する外部ページ】
- MobaXterm の公式のダウンロードページ: https://mobaxterm.mobatek.net/download.html
- MobaXterm の公式ページ: https://mobaxterm.mobatek.net/
【関連項目】 MobaXTerm のインストール(Windows 上)
ダウンロードとインストール
- MobaXTerm の ウェブページを開く.
- 「Download」をクリック
- Home Edition の下の「Download now」をクリック.
- 「Installer Edition」の方をクリック.
- ダウンロードが始まる.
- ダウンロードした .zip ファイルを展開(解凍)する.分かりやすいディレクトリに置く.
- 展開(解凍)してできた .msi ファイルを起動.
- ようこそ画面では「Next」をクリック.
- ライセンス条項の確認.
- インストールディレクトリ(フォルダ)は,既定(デフォルト)のままでよい.「Next」をクリック.
- インストールしたいので,「Install」をクリック.
- インストールが始まる
- インストール終了の確認
- 試しに起動してみる.
主な機能
SSH によるリモートログイン
- MobaXTerm で「Session」をクリック
- 「SSH」をクリック
- 「Remote host」
のところに,接続したいホスト名(あるいは IPアドレス).
Specify username をチェックし,ユーザ名を入れる.
キーペア(公開鍵,秘密鍵)を使うときは, 「Use private key」をチェックして,秘密鍵のファイル名を設定する.
以上が終わったら「OK」をクリック. その後,パスワードが要求されたときは,パスワードを入れる.
- 接続先の X Window アプリケーションを開くこともできる.
RDP によるリモートデスクトップ
- MobaXTerm で「Session」をクリック
- 「RDP」をクリック
- 「Remote host」
のところに,接続したいホスト名(あるいは IPアドレス).
「Username」のところに,ユーザ名を入れる.
以上が終わったら「OK」をクリック. その後,パスワードが要求されたときは,パスワードを入れる.
SFTP によるファイル転送
- MobaXTerm で「Session」をクリック
- 「SFTP」をクリック
- 「Remote host」
のところに,接続したいホスト名(あるいは IPアドレス).
「Username」のところに,ユーザ名を入れる.
キーペア(公開鍵,秘密鍵)を使うときは, 「Use private key」をチェックして,秘密鍵のファイル名を設定する.
以上が終わったら「OK」をクリック.
- その後,パスワードが要求されたときは,パスワードを入れる.
- 接続先のマシンのファイルが表示される.この画面でファイル転送できる.
うまく接続できないときの対処の手がかり
小目次
- 事前に確認しておく事項
- 接続してみる
- ssh 接続で「ssh: connect to host ... port 22: Connection time out」と表示され接続できない
- ssh 接続で「ssh_exchange_identification: read: Connection reset by peer」と表示され接続できない
- ssh 接続で「REMOTE HOST IDENTIFICATION HAS CHANGED」と警告表示が出る
事前に確認しておく事項
このページでは,「ssh」で接続を行いたいものとして手順を説明する.
- 接続先の IP アドレス: xxx.xxx.xxx.xxx
- 接続に使うアプリケーション: ssh
- 接続のためのユーザ名: kaneko
接続してみる
- MobaXTerm を起動する
- 「Start local terminal」をクリック
- 「ssh -l <接続のためのユーザ名> <接続先の IP アドレス>」を実行
- パスワードを入れる
パスワードは画面表示されないのは正常動作である.(キーボードのキーを押しても表示されないが,動作はしている)
- 確認表示が表示された場合には,「Yes」を選ぶ
- 接続成功を確認する
* 下図では,関係のないものは伏せ字にしている.
安全面の強化のため SSH の公開鍵,秘密鍵を使うことが多い. その設定手順は,別ページ »で説明
Windows マシンから SSH でリモート接続できないときのヒント
ssh 接続で「ssh: connect to host ... port 22: Connection time out」と表示され接続できない
ssh 接続で「ssh: connect to host ... port 22: Connection time out」と表示され接続できない場合.
- まず,相手先と通信できるのかの情報を得る.
そのために,MobaXTermの Ports scannerを使う.
MobaXTermの Ports scannerは,相手先の通信を調べるためのもの.(他人のマシンに対して,このツールを使うのは避けること.相手に迷惑がかかる.マナー違反である.)
MobaXTerm で,Tools → Ports scanner と操作する
- IP アドレスのところに,<接続先の IP アドレス>を設定し,「Start scan」をクリック
- 表示結果を見て判断する
(1)「-Port #22 (ssh): listening」の表示がある場合.
この表示からは,「相手先とは通信できる」ことと,「相手先では ssh サーバが稼働している」ことが分かる. ファイアウオールの設定などを確認すること. 相手先の IP アドレスを勘違いしていないかも確認すること.
(2)「-Port #22 (ssh): listening」の表示がないが,他の表示がある場合.
この表示からは,「相手先とは通信できる」ことは分かる. 相手先で ssh サーバが稼働しているかしていないか,ssh の通信をファイアウオールで完全に遮断していないかを確認すること. 相手先の IP アドレスを勘違いしていないかも確認すること.
(3)何も表示されない場合
この表示からは,「相手先とは通信できない」らしいと判断される. 相手先の IP アドレスを勘違いしていないかも確認すること.
- 確認のため,MobaXTerm で,「arp -a」を実行
次のように「ARP エントリが見つかりませんでした」と表示される場合は,MobaXTerm を使っているパソコンがネットワークに繋がっていないので対処する.
それ以外の表示が出る場合には,MobaXTerm を使っているパソコンはネットワークに繋がっており,その点では問題はないだろうと判断.
- 確認のため,MobaXTerm で,「ping <接続先の IP アドレス>」を実行
(1)次のように「宛先ホストに到達できません」と表示される場合.
この表示からは, やはり, 「相手先とは通信できない」らしいと判断される. 相手先の IP アドレスを勘違いしていないかも確認すること.
(2)次のように「xxx.xxx.xxx.xxx からの応答: バイト数 = ...」と表示される場合.
この表示からは,「相手先とは通信できる」ことは分かる. 相手先で ssh サーバが稼働しているかしていないか,ssh の通信をファイアウオールで完全に遮断していないかを確認すること. 相手先の IP アドレスを勘違いしていないかも確認すること.
- 確認のため,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」と表示され接続できないとき.
- 次の可能性がある.
- 相手先とは通信できる
- 相手先では ssh サーバが稼働している
- ファイヤウオールで ssh 通信を遮断している可能性がある,相手先で ssh バージョン 1 を受け入れるが,ssh バージョン 2 は受け入れないようになっている可能性がある
- 「相手先とは通信できる」ことと,「相手先では ssh サーバが稼働している」ことを,次の手順で確認する.
- MobaXTerm で,「ssh -v -l <接続のためのユーザ名> <接続先の IP アドレス>」を実行
* 「-v」を付けている.
- 「debug1: Connection established.」というような表示があれば,
「相手先とは通信できる」ことと,「相手先では ssh サーバが稼働している」ことが分かる.
- MobaXTerm で,「ssh -v -l <接続のためのユーザ名> <接続先の IP アドレス>」を実行
- 相手先で稼働している ssh サーバのバージョンを,次の手順で確認する.
- MobaXTerm で,「telnet <接続のためのユーザ名> 22」を実行
- 相手先で稼働している ssh サーバのバージョンが表示されるはずなので,表示を確認する
- MobaXTerm で,「telnet <接続のためのユーザ名> 22」を実行
- 以上の結果を元にして,ファイヤウオールで ssh 通信を遮断している可能性がある,相手先で ssh バージョン 1 を受け入れるが,ssh バージョン 2 は受け入れないようになっている可能性があると判断. ファイヤウオールの設定を確認するなどで対処.
ssh 接続で「REMOTE HOST IDENTIFICATION HAS CHANGED」と警告表示が出る
ssh 接続で「REMOTE HOST IDENTIFICATION HAS CHANGED」と警告表示が出た場合.
ssh では,初回接続時に,接続先のコンピュータを「証明書」が自動作成され,保存される. この「証明書」は,悪意のあるサイトに誘導されないための大事な仕掛けである.
接続先のコンピュータが交換された,接続先のコンピュータの IP アドレスが変更された,接続先のオペレーティングシステムが交換された場合では, 手元の「証明書」を次の手順で更新する.
交換した覚えが無いときは, 悪意のあるサイトへの誘導である可能性がある.十分に確認しながら行うこと. (利用者自身で判断すること)
- 警告表示に対して,「はい」をクリックすると,現在の「証明書」は破棄され,新しい証明書が発行される.
悪意のあるサイトへの誘導はないか,十分に確認しながら行うこと.(利用者自身で判断すること)
- 表示を確認する
「Warning: Permanently added ...」と表示され,証明書が更新されたことを確認する.
「Last loing: <日時>」の表示が出たときは,前回 ssh で接続したときの日時であるか,確認する(違う場合には,悪意のあるサイトの誘導である可能性がある)
接続に成功したことを確認する
* 下図では,関係のないものは伏せ字にしている.
* 証明書の更新の失敗しているときは,「ssh-keygen -R <接続先の IP アドレス>」を実行し,表示をみて,分析する. (このコマンドは,現在の「証明書」は破棄され,新しい証明書が発行するコマンドなので,むやみに実行してはいけない.利用者自身で判断すること)