今、vista home basicからputtyを使って、 外部にあるサーバーのデータベース(MySQL)へフォワードをして接続しようとしいるのですが、 接続することができません。 XP HOMEでなら接続を確認したのですが、 vistaだと接続できません。 接続方法を教えてください。
2007年12月の月例パッチに含まれるKB942624をあてると445ポートをフォワード出来なくなります。
samba over sshなら・・・
http://lists.samba.org/archive/samba/2007-March/130102.html
http://wota.jp/ac/?date=20070328#p01
残念ですがパッチをアンインストールしてみましたが、
解決にはいたりませんでした。
たぶん、Firewallの設定が必要だと思われます。
vista標準のFirewallは下記を参考に設定してください。
http://www.akakagemaru.info/port/vista-FW.html
SSHはTCP/IP 22です。
ソフト指定も追加しておいた方がいいかもしれません
ポートを追加してみましたがダメでした。
ファイヤーウォールを無効にしてウィルスソフト(ノートン)も無効にしてみましたが
接続はできませんでした。
回線と接続しているご家庭で使用されているルータ側でブロックされているかもしれません。
以前はどうでしたか?
今回初めてSSHを使用されたのですか?
別のPC(XP Home)からはSSH接続でき、
ポートフォワードも出来ますのでルータ側の問題では無いのでは?と認識しています。
vistaのPCでもSSHは接続することができますが、ポートフォワードだけができていないようです。
SSHサーバ側の問題でも、設定間違いでもなさそうだと言うことがわかりました。
もう一度、VistaのFireWall確認をお願いしたいのですが、
ポートフォワードで指定しているローカル側に見せたいポート番号がFireWallで許可され開いているかどうか、です。
ポート自身の開きは、ポートフォワードでssh接続実行したのち、
vistaのコマンドプロンプトにて、netstatコマンドで確認取れるかと思います。
ノートンをアンインストールし、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を無効にしてみましたが、変化はありませんでした。
ポートは、ホワードされて、端末側で受け付け状態になっているようにみえます。
が、
待ち受けの場合、
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と同じではないですか?
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固有の問題でしょうか・・・^^;
現段階ではお手上げです。
代替方法を探すことも視野に入れてみます
「接続」→「SSH」→「トンネル」の部分(ポートフォワーディングオプション)で
XP側の設定との差はありませんか?
「ローカルポートは他のホスト・・・」とか「リモートも・・・」の部分
「送り先」部分のラジオボタン
確認してみてください。
そのほかの設定部分も確認しましたが変った部分はありませんでした。
試しにputtyに付属しているpfwd(ポートフォワード専用ツール?)をXP側で設定し、
同じくXPで設定したiniファイルをvistaにコピーしました。
動作はputtyと同じでXPでは接続ができ、vistaでは接続不可でした。
netstatも同様です。
(パッチ当てによる部分の判断はしていませんが・・・・)
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
FireWallの設定をして、ログをとるようにしてみました。
結果としては、通信がブロックされたログは出ませんでした。
ポートの3306に関係するようなログも出ていませんでした。
アンチウィルスはアンインストールされていますので、
今度はFireWallをすべて無効にし、再起動を行い試してみましたが。
結果は同様でした。
となるとやはりputtyの設定?と思いもう一度確認してみましたが、問題はなさそうでした。
vista home basicが悪いのかと思い今から vista ultimate(別PC)でもチェックしてみようと思います。
FireWallにログも出力されていないとすると、インターフェースまで、通信がいっていない可能性があります。
FireWallでないとすると、sqlの操作プログラム側の設定かもしれません。
もう一度、SQL側の設定を確認してみてください。
結果としてはローカルにインストールしたMySQLへ接続しようとしていました。
なので、ローカルのMySQLを停止させることでフォワードができました。
XPではそういったことが起こりませんでしたが、
VISTAではポートの競合?が起こっていたようです。
いろいろ知恵を貸して頂きありがとうございます。