質問: WANからLANのRaspberry PIにssh接続できない(どうやらポート開放が上手く行ってない)のでご教示おねがいします。 よしそろそろ俺も"のまどわーかー"になっちゃうぜ、"のまどわーかー"ってやつによ。そして"スタバ"で"MacBook"広げ、外から見える陳列席でタカタカ、ターン(RET)ってやっちゃうぜ? と思い──というのは嘘で、スタバには行かないしマッキントッシュなんて高いマシーンは持ってません。しかし中古で買った安い型落ちPCにLinuxをインストールして、外出先からRaspberry Pi(以下、RP)に作ったGitリポジトリにファイルをPush出きるようにしようと思ったわけです、姉さん。(Gitリポジトリは作成済み) ところが出先からでもwifiでssh接続できるように試行錯誤しているのですが上手くいきません。どなたかご教授ください。 以下、環境 試行しているクライアントOS:Ubuntu 14.04 サーバ:RP モデルB(OS:Rasbian Wheezy) ルータ:バッファロー・ WZR-HP-G302H 行ったこと 1)RPにufwをインストールして、22番・80番・8000番・8080番のポートを許可。IPアドレスの固定 2)MyDNSでグローバルドメインを取得(仮に\\.\\.\\.\\とする) 3)ルータのポート開放(22番、8000番、8080(80)番) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/3b1b9ae203fac7dfcdda721c42e5c20f.png) 4)UbuntuのFireFoxにVPN(Hotspot Sield)アドオンをインストール 5)RPにLighttpとWebiopiをインストール。Open-sshは最初から入っていた。 結果 1)クライアントのUbuntuからRPに、LAN内でssh接続(ssh ユーザ名@192.168.11.x 及びssh ユーザ名@ローカルhost名.local)はできる 2)LAN内(Hotspot Sield未使用)から、http://ローカルhost名.local(LAN内IP)で、ブラウザにlighttpのホームが見える 3)LAN内(Hotspot Sield未使用)から、http://ローカルhost名.local:8000(LAN内IP)で、ブラウザでWebiopiが見える(何故かログインアカウントとパスワードの入力は求められなかった) 4)WAN経由でUbuntuからssh接続(ssh \\.\\.\\.\\ そして ssh ユーザ名@\\.\\.\\.\\ そして ssh -p 22 \\.\\.\\.\\)ができない。(ssh: connect to host \\.\\.\\.\\ port 22: Connection refused と返ってくる) 5)WANから(Hotspot Sield有効)でhttp://\\.\\.\\.\\(:80) で、ブラウザでLighttpのホームが開かない 6)WANから(Hotspot Sield有効)でhttp://\\.\\.\\.\\:8080で、ブラウザでLighttpのホームが開く 7)WANから(Hotspot Sield有効)でhttp://\\.\\.\\.\\:8000で、ブラウザでWebiopiが開く 8)UbuntuからnmapコマンドでRPのローカルIPを調べると 22/tcp open ssh 80/tcp open http 8000/tcp closed http-alt (Webiopi稼働時はopen) 8080/tcp closed http-proxy 9)Ubuntuからnmapコマンドで192.168.11.1(ルータ)を調べると 53/tcp open domain 80/tcp open http 10)Ubuntuからnmapコマンドで\\.\\.\\.\\を調べると 53/tcp open domain 80/tcp open http 11)ブラウザを使いCMAN(www.cman.jp)で、\\.\\.\\.\\のポートを調べると 22番にはアクセス可 80番にはアクセス不可 8000番にはアクセス不可(RPでwebiopiを稼働させている時はアクセス可) 8080番にはアクセス可 12)ブラウザを使い、192.168.11.1を開いて「ゲーム&アプリ」→「ポート変換」を見ると以下の図 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/54b2819dbd00e3c2fab079e04d0983d2.png) 携帯電話・スマートフォンを所持しておりませんので、厳密にはLAN外から(端末→インターネット→LAN)の検証はできておりません。また、ターミナルを使ったUbuntuからのssh接続もLAN内からしか検証していません(できない)ので、問題が ・RPの設定にあるのか ・ルータのポート開放が間違っているのか ・それともssh接続の仕方が間違っているのか 分かりません。 お分かりになられる方がいらっしゃったら、どうかご教示ください。よろしくお願い致します。
回答: 実環境での試行錯誤が必要そうですが、下記の可能性があります。 A.WAN側からは受け付けている状態になっているが、内側からの接続試行はできない可能性 B.SSHはメンテナンス接続用ポートとして特殊な扱いになっている可能性(フィルタリング 等の処理にかかる前にルータにインターセプトされている、暗黙のフィルタリングが 存在する、等) 対策: A.については実際にWAN側からやってみるしかありません。やれないというならなぜその ような設定を作るのか?という話です。 B.については下記のいずれかで対応すればよいでしょう。 ・WAN側からLANの機器にSSH接続したい場合、VPNでLAN側へ接続してからSSHで接続する ようにする方が一般的な設定(複数機器のメンテナンスが可能となるため)。ただ、 UbuntuからPPTP-VPN接続できるかは不明。 ・WAN側のport番号を22以外の適当な大きい数字(1024-65535/12456とかキリが悪い番号 の方が他とかぶらなくて良い)に変更してみる。WAN側からssh接続する場合は、接続先の port番号を上記で設定した数字に設定して接続する。これでもダメなら、内側の数字も 変更し、sshd(サーバ側)でssh接続の待ち受けポートを22から内側のport番号に変更 してみる。