質問: Linux側で立ち上げたVNCサーバーをMacで操作したいです トンネリングとマシンへの接続はPuTTYを用いており, 59xxポートとlocalhostの使われていない適当なポートを対応付けています. 接続が完了したら,Finderの機能を使ってVNCサーバーへの接続を試みたのですが, > > "localhost"に接続できませんでした。 リモートコンピュータで画面共有またはリモートマネージメントが有効になっていることを確認してください > > > というメッセージが出てきて接続ができませんでした. システムの環境設定から画面共有も有効にしているのですが,同じように接続ができない状況にあります. これは他にも許可しなければいけない項目があるということでしょうか? もしくは接続以前にトンネリングの方法が間違えているということでしょうか? 以下が私のVNC接続に関する認識と,手順です. --- ### サーバ側 VNCサーバを起動し,受付状態となっています. VNCの1番を起動しており,ポート番号は5901としています. ### クライアント側 SSHによる接続・トンネリングはPuTTYを用いました. PuTTYのトンネリング設定は以下のように行っています. ・送信元ポート番号は"1101"としています ・送り先ポート番号は"宛先IPアドレス:5901"としています これによってクライアント側1101番ポートとサーバ側5901番ポートの紐付けが完了したと考えています. 設定が完了したらSSH接続しました.接続は成功したことを確認しています. 最後にMacの"Finder->移動->サーバに接続"を経て ``` vnc://localhost:1101 ``` と入力して接続を試みたところ,上記のような接続失敗のメッセージが表示されました. --- SSHやMacOSに関する知識は初心者レベルですが,ご教示いただければ幸いです. ### 追記 Windowsを使って同様の設定を行い,VNCサーバに接続できたことを確認しました. VNCビューワーにはUltraVNC Viewerを使用しました. そもそもMac用のPuTTYのインストールでは,ダウンロードページにMac用のインストーラがなかったため,動画(How to install Putty on Mac)を参考にインストールしました(私が使用しているMacOSはBigSurです). そのため,MacとPuTTYの相性についても考えていきたいと思っています. ### さらに追記 この質問でのポート番号の記述を誤っていました.正しくは1011です. 試しに1101にしたところ問題なく接続ができました. 記述が誤っていたことをまことにお詫び申し上げます. MacとWindowsでは設定できるポート番号に差があるようです. 今後はもう少し大きい番号を使っていきたいと思いました.
回答: > > クライアント側 > > SSHによる接続・トンネリングはPuTTYを用いました. > > PuTTYのトンネリング設定は以下のように行っています. > > ・送信元ポート番号は"1101"としています > > ・送り先ポート番号は"宛先IPアドレス:5901"としています > > > 送り先を"localhost:5901"とするとどうなるでしょうか? どの実装の(どの種類の)VNCサーバをどのような設定で起動したのかがわからないのですが、 サーバ側でVNCサーバを起動した状態で、 ``` $ netstat -an |grep :5901 | grep LISTEN ``` の結果はどうなるでしょうか? ``` tcp 0 0 127.0.0.1:5901 0.0.0.0:* LISTEN ``` のようにlocalhostしか受け付けられないようにバインドされている可能性があるかもしれないと思いました。 他の可能性としては、IPアドレスを限定しない場合と ``` tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN ``` 特定のネットワークカードのIPアドレスだけで接続を待っている場合などがあり得ます。 ``` tcp 0 0 (特定のIPアドレス):5901 0.0.0.0:* LISTEN ```