VISTAでSSHによるポートフォワードができません。


今、vista home basicからputtyを使って、
外部にあるサーバーのデータベース(MySQL)へフォワードをして接続しようとしいるのですが、
接続することができません。

XP HOMEでなら接続を確認したのですが、
vistaだと接続できません。

接続方法を教えてください。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2008/02/09 11:35:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:arhbwastrh No.1

回答回数447ベストアンサー獲得回数23

ポイント35pt

2007年12月の月例パッチに含まれるKB942624をあてると445ポートをフォワード出来なくなります。

samba over sshなら・・・

http://lists.samba.org/archive/samba/2007-March/130102.html

http://wota.jp/ac/?date=20070328#p01

id:eternal_aqua_sky

残念ですがパッチをアンインストールしてみましたが、

解決にはいたりませんでした。

2008/02/02 18:18:50
id:devichan No.2

回答回数56ベストアンサー獲得回数4

ポイント35pt

たぶん、Firewallの設定が必要だと思われます。

vista標準のFirewallは下記を参考に設定してください。


  http://www.akakagemaru.info/port/vista-FW.html

SSHはTCP/IP 22です。

ソフト指定も追加しておいた方がいいかもしれません

 

id:eternal_aqua_sky

ポートを追加してみましたがダメでした。

ファイヤーウォールを無効にしてウィルスソフト(ノートン)も無効にしてみましたが

接続はできませんでした。

2008/02/03 01:25:56
  • id:devichan
    ご自宅からって事であれば、他の可能性として、
    回線と接続しているご家庭で使用されているルータ側でブロックされているかもしれません。
    以前はどうでしたか?
    今回初めてSSHを使用されたのですか?
  • id:eternal_aqua_sky
    コメントありがとうございます。

    別のPC(XP Home)からはSSH接続でき、
    ポートフォワードも出来ますのでルータ側の問題では無いのでは?と認識しています。

    vistaのPCでもSSHは接続することができますが、ポートフォワードだけができていないようです。

  • id:devichan
    別のPCからSSH接続およびポートフォワードもできているようなので
    SSHサーバ側の問題でも、設定間違いでもなさそうだと言うことがわかりました。
    もう一度、VistaのFireWall確認をお願いしたいのですが、
    ポートフォワードで指定しているローカル側に見せたいポート番号がFireWallで許可され開いているかどうか、です。

    ポート自身の開きは、ポートフォワードでssh接続実行したのち、
    vistaのコマンドプロンプトにて、netstatコマンドで確認取れるかと思います。

  • id:eternal_aqua_sky
    コメントありがとうございます。

    ノートンをアンインストールし、FireWallのポートの追加から
    SSH用の22番
    MySQL用の3306番
    を追加しました。

    puttyにてポートフォワードの3306を指定し、SSH接続を行い、netstatをにて確認しましたが、

    TCP 192.168.3.37:49431 [ドメイン名]:ssh ESTABLISHED

    と出てSSH接続はされているようなのですが、
    肝心の3306番[MySQL]のポート番号はでてきませんでした。
    「netstat -a」にて全て表示してみたら

    TCP 0.0.0.0:3306 [マシン名]:0 LISTENING

    と出てきましたが、
    正常に動作するXPでは
    TCP [マシン名]:1314 localhost:3306 TIME_WAIT
    TCP [マシン名]:1316 localhost:3306 ESTABLISHED
    TCP [マシン名]:1317 localhost:3306 ESTABLISHED

    と表示されていました。
    これはvista側ではポートフォワードがうまく動作していないと言うことでしょうか?

    ちなみに、FireWallを無効にしてみましたが、変化はありませんでした。
  • id:devichan
    >TCP 0.0.0.0:3306 [マシン名]:0 LISTENING
    ポートは、ホワードされて、端末側で受け付け状態になっているようにみえます。
    が、
    待ち受けの場合、
    TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
    となっているべきところかな?とも思います。([マシン名]が入っているのがあやしい?)

    この状態で、MySQL接続は、できないんですか?
    接続において接続先が自分自身(localhost:127.0.0.1)になっているのか、もう一度確認してください。

    >正常に動作するXPでは
    >TCP [マシン名]:1314 localhost:3306 TIME_WAIT
    >TCP [マシン名]:1316 localhost:3306 ESTABLISHED
    >TCP [マシン名]:1317 localhost:3306 ESTABLISHED
    これは、[マシン名]から自分自身(localhost:127.0.0.1)へ接続しているセッション表示で、
    TCP xxx.xxx.xxx.xxx:3306 xxx.xxx.xxx.xxx:0 LISTENING
    のような、待ち受けのものもあるとおもいます。こちらはどうなっていますか?
    vistaと同じではないですか?



  • id:eternal_aqua_sky
    コメントありがとうございます。


    vista側にて
    「netstat -an」(アドレスをすべてIPにて表示するnを追加しましたところ)
    TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
    と表示されマシン名は表示されなくなりました。
    この状態でlocalhostに対してMySQL接続を行いましたがやはりダメでした。
    127.0.0.1に変えても結果は同じでした。

    XP側も同じくオプションにnをつけて表示させたところ
    TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING <<この部分はvistaと同じようです
    TCP 127.0.0.1:1316 127.0.0.1:3306 CLOSE_WAIT
    TCP 127.0.0.1:1317 127.0.0.1:3306 CLOSE_WAIT
    TCP 127.0.0.1:1420 127.0.0.1:3306 TIME_WAIT

    現状としましては
    受け側はXPとvistaとも有る状態
    送信側はXP側でしか確認できませんでした。

    こうなってくるとvista固有の問題でしょうか・・・^^;
    現段階ではお手上げです。
    代替方法を探すことも視野に入れてみます
  • id:devichan
    puttyの設定で、お伺いしたいのですが、
    「接続」→「SSH」→「トンネル」の部分(ポートフォワーディングオプション)で
    XP側の設定との差はありませんか?
    「ローカルポートは他のホスト・・・」とか「リモートも・・・」の部分
    「送り先」部分のラジオボタン

    確認してみてください。
  • id:eternal_aqua_sky
    確認しましたが同じでした。
    そのほかの設定部分も確認しましたが変った部分はありませんでした。

    試しにputtyに付属しているpfwd(ポートフォワード専用ツール?)をXP側で設定し、
    同じくXPで設定したiniファイルをvistaにコピーしました。

    動作はputtyと同じでXPでは接続ができ、vistaでは接続不可でした。
    netstatも同様です。
  • id:devichan
    お話を伺った中からわかることは、やはりvistaのfirewall(OSおよびアンチウイルス系)が通信を遮断していと判断できるかと思います。
    (パッチ当てによる部分の判断はしていませんが・・・・)

    vistaからFireWallは、出る方と入ってくる方がありますので、両方に設定する必要があります。
    今回の場合は、SQLが使用する3306のポート許可です。
    (ローカルに接続する場合も、firewallの影響を受けますので。。。)
    →もしくは、無効。
    →下記URLを参考にログ採取する設定にしておいてください。(あとで判断材料になります)
    →アンチウイルス系がFirewall機能を持っているようであれば、それらも設定が必要です。

    設定できたら、一応PCを再起動させて、それから通信確認を行ってください。


    以下二つの情報を参考に、設定してみてください。(まずはログを取って通信状態を確認した方がいいと思います。)

    http://windowshelp.microsoft.com/Windows/ja-JP/help/230d8c47-ee63-47e1-a1f6-a1d38b07dbee1041.mspx

    http://www.atmarkit.co.jp/fwin2k/win2ktips/893vistafwlog/vistafwlog.html
  • id:eternal_aqua_sky
    アドバイスありがとうございます。

    FireWallの設定をして、ログをとるようにしてみました。

    結果としては、通信がブロックされたログは出ませんでした。
    ポートの3306に関係するようなログも出ていませんでした。

    アンチウィルスはアンインストールされていますので、
    今度はFireWallをすべて無効にし、再起動を行い試してみましたが。
    結果は同様でした。

    となるとやはりputtyの設定?と思いもう一度確認してみましたが、問題はなさそうでした。

    vista home basicが悪いのかと思い今から vista ultimate(別PC)でもチェックしてみようと思います。
  • id:devichan
    ローカルにポート3306ができていますので、puttyのポートフォワードは正常に動作していると判断できます。

    FireWallにログも出力されていないとすると、インターフェースまで、通信がいっていない可能性があります。

    FireWallでないとすると、sqlの操作プログラム側の設定かもしれません。

    もう一度、SQL側の設定を確認してみてください。

  • id:eternal_aqua_sky
    時間が空きましたが解決いたしました。

    結果としてはローカルにインストールしたMySQLへ接続しようとしていました。
    なので、ローカルのMySQLを停止させることでフォワードができました。

    XPではそういったことが起こりませんでしたが、
    VISTAではポートの競合?が起こっていたようです。

    いろいろ知恵を貸して頂きありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません