質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.05%

WANから自LAN内のサーバへssh接続できません

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 4,828

score 12

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)番)
イメージ説明
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を開いて「ゲーム&アプリ」→「ポート変換」を見ると以下の図
イメージ説明

携帯電話・スマートフォンを所持しておりませんので、厳密にはLAN外から(端末→インターネット→LAN)の検証はできておりません。また、ターミナルを使ったUbuntuからのssh接続もLAN内からしか検証していません(できない)ので、問題が
・RPの設定にあるのか
・ルータのポート開放が間違っているのか
・それともssh接続の仕方が間違っているのか
分かりません。
お分かりになられる方がいらっしゃったら、どうかご教示ください。よろしくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+3

実環境での試行錯誤が必要そうですが、下記の可能性があります。
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番号に変更
してみる。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/01 18:11

    sshの標準TCPポートは、(細かな説明は省きますが)セキュリティー上からもあまりよろしくないので、2233とかを使うといいかもしれません。/etc/ssh/sshd_config設定ファイルの上のほうにPort 22がありますので、それを2233とかに変更してください。(本当は、SSH2に限定し、鍵認証のみで行うべきです。)
    バッファローのルーターは、TCP 2233がRaspberry Piのローカルアドレスにポートフォワーディングしてください。
    そして、DDNSですが、ルーターのステータス画面で間違いなく、持っているグローバルIPが反映されているかを以下のようなサイトから確認してください。
    1.グローバルIPアドレスで、TCP2233が通過できるか?
    2.DDNS名で、名前解決と同様にアクセスできるか?
    英語ですが、下記にネットワークツールが各種あります。
    (同時に右上で、自分のグローバルIPも確認できます。)
    https://centralops.net/co/ - nslookupなど
    https://pentest-tools.com/network-vulnerability-scanning/tcp-port-scanner-online-nmap  - nmapを外部からやってくれるサイト
    上記で、ポートの開放が確認出来たら、カフェにGo!ですw

    キャンセル

  • 2017/07/31 01:14

    himazin.blmさん、ご回答有難うございました。
    "A"でした。パソコンを持ち出してWiFiがあるところでsshを叩いてみると、何とか繋がりました。
    さらに詳しい確認方法も為になりました。
    taurusさんもセキュリティはじめ、詳細な設定についてお教えいただき有難うございました。
    ご両者とも本当に、参考になりました。有り難うございます。

    キャンセル

  • 2017/07/31 01:15

    あと、確認に手間取り御礼が遅くなりましたことをお詫び申し上げます。どうもすみませんでした。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.05%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る