1189251899 vncの接続について。

添付の画像に接続される側のmac(自宅)と接続する側のmac(会社)の各ソフトの設定をまとめました。
sshでトンネルを掘って、会社から自宅macをvncで見たいのですが、どうもうまくいきません。。。アドバイスをお願いします。

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

回答1件)

id:keino No.1

回答回数204ベストアンサー獲得回数11

ポイント60pt

状況がよくわからないのですが、チェックしてみたほうがいい点を

列挙してみます。

自宅のMACのIPアドレスは固定でしょうか?

Dynamic DNS等でDNSには正しく登録されていますか?

IP アドレスでホストを指定するとどうなりますか?

自宅のプロパイダーは sshのトンネルを許可していますか?

ポートマッピングは正しく割り当てられていますか?

ファイアーウォールなどでアクセスを制限していませんか?

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34073&am...

id:kuroturp

返事が遅くなりました。

Dynamic DNS等でDNSには正しく登録されていますか?

 自宅MACのIPは固定ではありませんが、Dynamin Doに登録しています。

IP アドレスでホストを指定するとどうなりますか?

 Dynamin Doのアドレス(xxxxx.ddo.jp)では繋がります。しかしこのつなぎ方では

 パスワードが平文で送られるらしく、セキュリティ上問題があるとのことで、ssh接続を

 試みています。

ポートマッピングは正しく割り当てられていますか?

 外部pcからの接続要求が、自宅ルータのポート22番および5900番に来た際には、

 Dynamin Doを登録しているmacに繋がるように設定しているつもりです。

 upした画像がそのルータの設定です。

ファイアーウォールなどでアクセスを制限していませんか?

 ファイアーウォールの機能はONになっています。

 ですが、VNCの設定はONになっています。

2007/09/11 12:58:08
  • id:tomo_k
    添付の画像が小さすぎて設定が読めません。
  • id:kuroturp
    すみません。。。
    僕がupしたデータは長辺が1700ピクセルで、文字の読めるデータだったんです。容量的にも320KBで1MBいってないです。しかしご指摘の通り、実際にupされてたデータは長辺が600ピクセルに縮小されてますね。これははてなの仕様でしょうか?
  • id:kuroturp
    画像の件、よく調べてみましたら、はてなの仕様らしく600ピクセル以上はリサイズされるようです。ですので、お手数ですが、

    http://d.hatena.ne.jp/kuroturp/20070908

    ここから画像をご確認下さい。
  • id:KUROX
    過去の類出
    http://q.hatena.ne.jp/1174670500

    http://sakaguch.com/pastbbs/0009/B0004907.html
    私も、バーチャルサーバ機能というのがわからないんですが・・。

    http://www14.plala.or.jp/campus-note/vine_linux/server_vnc/vnc_portforwarding.html




  • id:Mook
    KUROX さんが提示されたページの情報があれば、設定は出来そうな
    気がするのですが、どうでしょうか。

    いろいろ提示されていますが、今回の問題はサーバ(自宅)側の問題の
    ようですから、設定を一箇所ずつ変えてみて挙動を確認してみてはどう
    でしょうか。
  • id:kuroturp
    KUROXさんの提示されたページは確認しました。
    ほとんど同じ状況なのですが、やはりローカルとして認識しません。
    Chiken of VNCのHOST名をxxxx.ddo.jpにするとつながるのですが、
    localhostにするとだめです。ターミナルでSSHは問題なくトンネリングできているので
    なにが原因なのか。。。。自宅ルータのポートのテストをしたら、5900番と
    22番は開いているようです。会社の5900番は開いていませんが、これが問題でしょうか??
    お世話になっております。
  • id:Mook
    状況からすると、SSH がうまく動いてなさそうですね。

    逆に自宅の 5900 はいらないのではないでしょうか。
    これがあるので、普通に VPN がつながってしまうのだと思います。

    これを削除して、まず普通に VPN がつながらないことを確認し、
    その上で SSH 上での 5900 を有効にする確認をする手順だと
    思います。
  • id:kuroturp
    なるほど。自宅ルータの5900番を閉じてみます。このチェックっていちいち自宅に帰らないといけないので、1日1回しかチェックできないんですよね。簡易的にできればなもっと早く回答できるののになあ。。
  • id:Mook
    おっと失礼しました。上記は
     誤:VPN
     正:VNC
    ですね。
  • id:kuroturp
    1.自宅ルータの5900番を閉めました。
     そうしたら会社のVNCからは普通に繋がらなくなりました。これは正常ですよね。

    2.次に会社macのターミナルで自宅mac宛にsshトンネルを掘る--成功

    3.そして会社macからVNCで、Host:xxxxxx.ddo.jp、Display:0、Password:xxxxx、で接続
     ---失敗(Could not connect to server xxxxxx.ddo.jp:5900 Operation timed out: connect())
     Hostをlocalhostにしてもダメ。こちらはすぐアラートがでます。逆にHost:xxxx.ddo.jpのときは
     しばらくしてからアラートがでます。

    うーん。。。考え方として間違っている部分があればご指摘下さい。
    会社macから自宅mac宛にsshでトンネルを掘って成功したら、
    自宅macは会社macのローカルに繋がったmacとして認識する。
    自宅ルータのポートは22番(ssh用)が空いていれば良い。
    自宅ルータのポート22番に来た着信が任意のmacに接続される様に、ルータを設定する。
    会社ルータのポートは弄れません。ネットが繋がる環境であればVNCはできる?
  • id:Mook
    SSH でのポート確立後の接続先はローカルホストになります。

    会社マシンの 5900 を VPN上での 自宅マシン の 5900 にしているので、そこに対して通信をすることになります。

    まず、SSH 起動後にそのポートが有効であるかを確認するのが最初ですね。

    指定の仕方ですが、localhost::5900 のように指定するという記述をどこかで見たのですが、今回のケースでは関係ないでしょうか。
  • id:kuroturp
    やっぱりダメでした。会社macから自宅macへのsshでのポート確立が成功しているのに
    会社macのchicken of vncでローカルとして認識しないということは???
    自宅macのポートは22番が空いていれば良くて、会社macのポートはネットさえ繋がる環境
    だったらokなんですよね?「Could not connect to server localhost:5900」って怒られるので
    会社は5900番が開いてないといけない気がしますが、どうなんでしょ?
  • id:Mook
    会社のポートというのが良くわかりません。

    SSH 経由でなければ、VNC で接続できていたのですから、会社から外に向かってはポート制約は無いように見えます。

    上記で local::5900(: 二つ) なのですが、これは試してみました?
  • id:kuroturp
    「SSH 経由でなければ、VNC で接続できていたのですから、会社から外に向かってはポート制約は無いように見えます。」
     そうですか、会社のポート云々は関係ないんですね。
    Host名を「localhost::5900」にして、パスワード入れて、connectてみましたがダメでした。
    「Could not connect to server localhost:0
    Can't assign requested address: connect0」
    という風に怒られます。
  • id:keino
    ループバックインタフェース(lo0だったかな?)が信頼済みネットワークになってなくて、lo0の5900ポートをファイアーウォールソフトがブロックしているんじゃないでしょうか?
  • id:kuroturp
    それは会社mac側がブロックしているということでしょうか?たしかに会社macのファイアーウォール機能は
    作動中です。これを切ってしまうということでしょうか?
    ちなみに自宅macのルータのssh接続の設定(ssh接続要求を自宅LAN内の特定のmacにルーティングする設定)を切ってみたら、
    会社macのターミナルからssh接続を確立できませんでした。(ssh: connect to host suyaostoonmini.ddo.jp port 22: Operation timed out)
    このことから、自宅macのルータ設定を切る前は、会社macから自宅macへのssh接続の確立は確かに出来ているということですよね。
    会社と自宅のどちらのmac(もしくは両方とも?)が原因なのかすら判らないのがもどかしい。
  • id:keino
    sshで接続ができるのだから会社側は問題なし。
    家側で、ループバックインタフェースを使って(つまりlocalhostという名前で127.0.0.1というIPアドレスへの接続)のポート5900へのアクセスが、セキュリティソフトでブロックされているのではないかということです。
    インタフェースlo0に対してはセキュリティを外すか、ポートを指定してアクセス可能にしないと、自分自身からのアクセスを遮断することになります。
  • id:kuroturp
    なるほど、会社macには問題ないんですね。
    では、そのインタフェースlo0に対してのセキュリティを外す方法は如何様にすればよいのでしょう?
    全くの的外れかもしれませんが、今回頂いたアドバイスに対しての対応として以下のように考えてみました。
    セキュリティソフト=ファイアウォール機能と理解しました。(ノートンなどのソフトはインストールしてないので)
    そのファイアウォールの設定に新規で、ポート22番(ssh)へのネットワークトラフィックの通過を
    許可する設定をつくる。
    その場合、TCPポート番号とUDPポート番号はsshの22番でokでしょうか?
  • id:keino
    > セキュリティソフト=ファイアウォール機能と理解しました。
    それで結構です。

    > そのファイアウォールの設定に新規で、ポート22番(ssh)への> ネットワークトラフィックの通過を許可する設定をつくる。
    これは済んでいるのではないでしょうか。以前にsshでトンネルを掘れたと書いていたので、設定済みだと思います。

    ファイアウォールは具体的に何がインストールされているかわかりませんか?iptableあたりでしょうか?

    この設定でインタフェースを選ぶところで、lo0あるいはループバックというのがありませんか?これを選択し、port 5900/tcpの通過が禁止されていれば、許可してください。これで、VNC で
    - localhost
    あるいは
    - localhost:5900 (コロンは1つ)
    で、接続できれば、家側のマッキントッシュの設定は完了です。

    もしかすると、会社側でもファイアウォールの設定で localhost の port 5900/tcpの通過を許可する必要があるかもしれません。

  • id:kuroturp
    MACのOSXのシステム環境設定/共有にあるファイアウォール機能ですが、「何がインストールされているか?」とは、チェックが付いている項目ということでしょうか?現状はiTunes音楽共有と、VNCとvrxとsshです。インターフェイスを選ぶところは無いようです。ループバックという記述もありません。。。
  • id:keino
    Macについてはあまり詳しくないので、だれか詳しい人が説明してくれればいいんですが、
    http://manuals.info.apple.com/ja/MacOSX3_NetworkServices-J.pdf
    にあるマニュアルのIPファイアウォールサービスの項目に詳しい解説があるようです。NATやVPNの記述もあるのでこちらにも目を通すといいでしょう。
  • id:kuroturp
    > Macについてはあまり詳しくないので、だれか詳しい人が説明してくれればいいんですが、
    とんでもない、ご丁寧に回答してくださってありがとうございます。
    わたしもあまり詳しくないので、質問の仕方が悪いのかもしれませんね。ご提示のマニュアルを確認してみます。
  • id:Mook
    しばらく見れていませんでしたが、kuroturp さんの強力なフォローがあったようですね。
    私の感覚からしても、問題となるのは自宅側の SSH の設定が一番怪しそうに思えます。

    以前も確認いただきましたが、会社のmacから
    telnet localhost localhost:5900
    のようにして、応答があるでしょうか(ちょっとこの書式に自信なし)。結果は、以前のようになれば通信可能な状態です。
    応答が無いようならVNC サーバまで通信が届いていません。

    全体の概要としては下記のサイトの図が参考になると思いますが、
    http://my-server.homelinux.com/port_outline.php
    現在はルータまで通っている状態のように思えます。なので後の PC 側のファイアウォールや Mac SSH からのポート設定を確認してはどうでしょうか?

    通信ができるようになるには一箇所一箇所を確認し、ルートを通していく以外には手がありません。
    不要な穴をあけてしまうのは設定は簡単ですが(以前の状態ですね)、セキュリティ的に弱い状態になります。

    あまりお勧めはしませんが、SSH を通らない状態での VNC は接続可能なのですから、それを使って 会社と自宅の設定を両方見ながら接続確認をするというのは一つの方法かもしれません。

    通信を確認する際には、 netstat、ipconfig、traceroute、tcpdump などのコマンドを使えるようになると便利です。
  • id:kuroturp
    mook様どうもです。keino様にいろいろとご指南頂きましたが、いまだ未解決です。
    telnet localhost localhost:5900を実行しましたら、
    「localhost: No address associated with nodename」とのことでした。(ssh確立前と確立後の両方ともにこの回答です)


    ちなみに”telnet”部分を”ssh”に変えると以下のように出ました。

    Last login: Tue Sep 18 12:57:36 on ttyp2
    Welcome to Darwin!
    xxxxxxx-power-mac-g5:~ xxxxxx$ ssh localhost localhost:5900
    The authenticity of host 'localhost (::1)' can't be established.
    RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
    Are you sure you want to continue connecting (yes/no)?


    「ホスト'localhost(: : 1)'の信憑性を確立することができません。
     RSAの主要な指紋はXXXXです。
     あなたは接続し続けたいのを確信していますか?」--直訳してみたらこうですが、
    ここでyesしようと思いましたが、あまり意味が分からなかったので
    とりあえずはターミナルを閉じました。

    VNCをしたい為だけにターミナルを弄っているので、ターミナルコマンドの使い方は
    ほぼわかりません。出てきた単語を一語一語調べて意味を何となく理解し、確証がなかったら
    ここで聞くというスタイルなので、話が噛み合ないこともしばしばで大変恐縮です。
    コマンドについてもう少し理解があれば良いのですが、いかんせん勉強の仕方が判りません。
    ターミナルコマンドで色々便利なことが出来そうなので、学ぶのに最適なサイト、
    書籍を教えて頂けると助かります。
    長文駄文になり申し訳ありませんが、もう少しお付き合い頂ける事に期待しつつ、
    以上宜しくお願い致します。
  • id:Mook
    ちょっとアサインされたポートへの書き方がまずいようですね。

    ポートの試験ですが、
    telnet localhost 5900
    だけだとどうでしょうか。SSH 接続前後で変わりますか?

    と書いたところで、昔の質問を確認したのですが、
    ssh -l 5900:localhost:5900 xxxxx@xxxxxxxx.ddo.jp

    ssh -l 5900:xxxxxxxx.ddo.jp:5900 xxxxx@xxxxxxxx.ddo.jp
    とかではどうですか。

    これに変えて、telenet テストをしてみてどうでしょうか。
    (テストは localhost に対して)

    はずしていたらすみません。
  • id:kuroturp
    telnet localhost 5900やってみました。
    ssh確立前は以下のように出ました。

     Trying ::1...
     telnet: connect to address ::1: Connection refused
     Trying 127.0.0.1...
     telnet: connect to address 127.0.0.1: Connection refused
     telnet: Unable to connect to remote host

    でssh確立後が以下。

     Trying ::1...
     Connected to localhost.
     Escape character is '^]'.
     RFB 003.008


    もう1つの
    ssh -l 5900:xxxxx.ddo.jp:5900 xxxxxx@xxxxxx.ddp.jp
    ですが、この記述でもssh接続確立は成功するんですね。

    でこの状態でターミナルでtelnet localhost 5900してみました。

     Trying ::1...
     Connected to localhost.
     Escape character is '^]'.
     RFB 003.008


    ちなみにchicken of VNCでも試してみましたがlocalhostに
    向けての接続はやはりダメでした。
  • id:Mook
    ssh の記述は、前者と後者では意味が異なりますので、その点はご注意ください。

    SSH ポートフォワーディングで検索すればいくつも例が見つかると思いますが
    http://www14.plala.or.jp/campus-note/vine_linux/server_vnc/vnc_portforwarding.html
    -L で指定するのはリモートホストですので、この場合 localhost はおかしいように思います。

    一応ポートは機能しているようですが、後者で接続した状態で VNC上で localhost:5900、もしくは localhost::5900 で指定して接続できないでしょうか。
    もし可能であれば、realVNC や tight VNC のviewerでやってもだめでしょうか(VNC Server と Viewer は異なっても接続可能です)。

    あるいは、ブラウザで
    http://localhost:5900
    としてもだめですか?
  • id:kuroturp

    >>一応ポートは機能しているようですが、後者で接続した状態で VNC上で localhost:5900、もしくは localhost::5900 で指定して接続できないでしょうか。
     ダメでした。。。

    >>realVNC や tight VNC のviewerでやってもだめでしょうか
     両方ともmac用が無さげですね。私が探せないだけかもしれません。。

    >>あるいは、ブラウザで
      http://localhost:5900
      としてもだめですか?
     この記述通りにすると、「サーバに接続できません」とでます。
     localhost部分をxxx.ddo.jpに変えると、「RFB 003.008」とでます。
  • id:keino
    何かlocalhost:5900のポートは開いているんだけど、VNCサーバがこのポートからのアクセスを拒否しているように見えます。
    VNCサーバの設定で、リッスンするネットワークインタフェースやポートを設定するところはないのでしょうか?
  • id:Mook
    一度全体を整理したいところですが、感覚的には疑わしいのは自宅側の設定ですね。

    VNC で接続相手を限定してはいないでしょうか。
    今回の場合、自マシン(自宅マシン)から接続できるようにする必要があると思います。
  • id:kuroturp
    mook様、keino様、長々とお付き合い頂きありがとうございます。
    どうもうまくいきませんね。。。この際、自宅mac(macmini)のホスト名と
    パスワードを教えて、VNCを通して直接診てもらいたい、といった衝動に駆られています。
    もしそうした場合は、マシンの中身は全部見られちゃいますが、原因が分かったところで
    ホスト名とパスワードを変更して、ルータのログインパスワード等も変更してしまえば、
    問題無い気がしますが、危険極まりないですか?そうだとしたらどのような点で危険
    なのでしょうか?
  • id:keino
    ここにパスワードを記載するのは危険きわまりないですね。
    はてなメッセージで個人宛に、メッセージを送るのは可能なのかな?私はまだ使ったことがないので、良くわかりません。
    http://m.hatena.ne.jp/
  • id:Mook
    気持ちはわからなくも無いですが、面識の無い人間を信用するのは
    どうかと思いますよ。

    パスワードを公開するのは論外ですが、私が VNC で接続できればkuroturpさんの システムを使えなくするのは、1分もかかりませんよ(root 権限があればですが)。

    例え画面を監視していても、別のシェルで作業をすれば気ずかれずにバックドアを仕掛けたり、システムの情報を取られたり簡単にできてしまいますので、危険はいっぱいです。

    何より、苦労して解決した知識は kuroturp さんの今後に役立つと思いますので、もう少しがんばってみませんか。

    私のほうも、もう少し情報収集をして見ます。
    追加情報はまた後ほど。

    Never Give Up!!
  • id:kuroturp
    やはり危険ですよね。ここまでお付き合い頂いたご両人ですので信頼感が沸いてしまい(これは悪い感情ではないと思っていますが)、
    危険と分かった上で前回のコメントはつけました。知識の薄い自分を通しての対話よりも直接診てもらう方が
    早いのではないかと。しかしkeino様のご指摘と、Mook様の励ましを頂き、改めて1から見直すことにしました。

    各設定画面キャプチャを以下の場所にupしました。
    http://d.hatena.ne.jp/kuroturp/20070921


    まずルータから。(Corega CG-BAR FX2)
    このルータにはバーチャルサーバという機能があり、これは外部からの任意のポートに対する着信を任意のローカルマシンに
    ルーティングする設定だと理解しています。ここでは5900番と22番に着信した信号をローカルマシン(192.168.1.14)の
    macminiに繋げる設定を有効にしているつもりです。ちなみに5900番の設定(VNC-macmini)を無効にすると
    外部からVNCソフトで繋げなくなります。

    次にMACOSX(10.4.10)の共有設定。
    ファイアウォール機能は作動中です。ここで新規で設定を作ろうとするとデフォルトでVNCが選べるので、
    それを作って有効にしています。TCPポート番号とUDPポート番号は変更出来ません。
    ssh設定は自分で勝手に作りました。TCPポート番号とUDPポート番号が22で良いのかは疑問です。
    SSH設定を任意で作った理由として、たとえルータが22番の着信を通してもファイアウォールで通過の許可を与えないと
    繋がらないということだと思ったからです。

    次にサーバソフト設定。(Vine Server)
    これは特定の設定を弄った記憶がありません。最初に設定してそれっきりなもので。


    次にDynamic DNSクライアントソフトの設定。
    (Dynamic DNSサービスのIPアドレスを自動更新するDynamic DNSクライアント)
    sshを通さないVNC接続がうまくいくので、これも問題ないかと思います。


    この辺が私の思いつく設定項目です。
  • id:keino
    ターミナルないしはコマンドコンソールで
    iptables --list
    と入力すると、ファイアーウォールの現在の設定が見れると思いますが、それの結果を見てみたいです。
  • id:keino
     http://d.hatena.ne.jp/kuroturp/20070921を見て思ったのですが、ファイアウォールの設定で、コンピュータ名の近くの編集で、localhost または 127.0.0.1 という名前が定義されていますか?
     自分自身には、こういった名前でアクセスするので、ここでVNCを許可しておかないとアクセスがブロックされるような気がします。
  • id:kuroturp
    ご返答ありがとうございます。
    すみません!!急に今日から別所に出向することになりまして、来週1週間は会社macが弄れない状況になってしまいました。keino様のご返答を確認したときには、既に別スタッフが私の会社macを使っていたので確認のしようがありませんでした。出向先ではセキュリティがガチガチで、インターネットも特定のサイトしか観れないような環境です。1週間後、必ず戻りますので、そのときはまた新たに質問を立てようかと思います。宜しくお願い致します。
  • id:Mook
    来週末は私が不在ですので、こちらを確認するのは30日以降になりますが、確認はしていますので。

    その間に思いついたことがあったら、こちらにあげておきます。
  • id:kuroturp
    mook様、keino様、そしてここを観ているかもしれないその他の皆様、
    明日より会社の自分のmacに復帰する予定でしたが、仕事が長引き、引き続き来週も出向先での作業を余儀なくされることとなりました。参りました。。。
    でこの質問は一旦終了させて下さい。(もう質問としては終了しているのですが)誰かをずっと待たせているような気がして、精神的にスッキリしないので。身勝手ですみません。。出向先作業が長引くようであれば、PowerBook G4ノートを持っているので、イーモバイルなんかに契約してそれでチェックなんてことも考えり、、そうするならいっそ純正のApple Remote Desktopを買った方が一番確実かなと思ったり。。。いろいろ考えてますが、仕事に頭を占領されてなかなかまとまらないので、お世話になったご両人には申し訳ないですが、ご理解頂きたく宜しくお願い致します。またいつか質問させてもらうかもしれないので、もし見かけたらチェックしてやってください。
  • id:Mook
    長期の出張ご苦労様です。

    私としては一向にあわてませんので、戻られてから落ち着いて再開してください。


    原因はごく些細な点のような気がします。keino さんが言われているように、現時点で一番怪しげなのはファイアウォールでしょうか。
    ここを見てダメだったら、その先の対策を考えても良いと思います。

    まずは、目の前のお仕事がんばってください。
  • id:keino
    あ、出張伸びたんですね。
    私は明日から、遅い夏休みで紅葉を見に行ってきます。

    ゆっくりでいいから、一歩一歩確実に前進してゆきましょう。

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

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

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

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