2007/3/30 金曜日

OSXでVNC(SSHで接続)なんとか・・・

カテゴリー: uncategorized — admin @ 15:05:08

OSXでVNCの続き・・・

VNCは接続時にパスワードとかも平文で送っちゃう。
これはセキュリティー的にちょっとねぇということで。
でもまだちょっとおかしいところがあるのでもう一つ書くと思います。

SSH Port Forwardingという手法を使う。

一般的にServerのターミナルでしこしこと弄るにはtelnetという方法があるが、古くてパスワードは平文。そのかわりにsshで入ってターミナル操作をしている方もおおいことだろう。そのSSHをそのままVNCの通信に使っちゃうなんても事が可能なんです。

接続先のOSXの共有からリモートログインを有効にし、
ルーターのport22/tcpを開けて外部から接続できるようにする。

接続する側から
ターミナルからSSH

ssh -L 5900:localhost:5900 接続先ホストのユーザー名@ホストのアドレス又はIPアドレス
パスワードを訊かれるので接続先ホストのユーザーのパスワードを入れる。

このとき最初の接続だと"Warning: Permanently added 'xxxxxxxx' (RSA) to the list of known hosts."と怒られるけどyesと入れてReturnでOK!

こうすることにより、接続先のport5900はport22のsshを通してあなたの操作しているMacのport5900に接続される。sshの接続の中にport5900のデータを流すトンネルを作ったスタイルだ。

そして・・・

VNCでローカルの5900を見に行く
vnc

見れただろうか?

変なこと・・・
ホストによっては"channel 3: open failed: connect failed: Connection refused"が出て繋がらない。
ポートを変えると(5901とか)うまくいくことも・・・

コメントをどうぞ

8 件の投稿があります

  1. 8
    林檎屋 » OSXでVNC Says:

    [...] ●続編「OSXでVNC(SSHで接続)なんとか・・・」 セキュアコネクション! [...]

  2. 7
    SUYAOSTOON Says:

    ご返答ありがとうございます。
    これでひと通り、自分の目的は達成出来ました。
    貴重な知識をありがとうございました。

  3. 6
    admin Says:

    すいません。
    訂正させていただきます。
    SSHはポート22です。
    大変ご迷惑をおかけしました。

    SSHのログインなどターミナルからのパスワード入力はアスタリスク表示などはありません。とまどわれたと思いますが、それが正常です。

    SSHポートフォワーディングは現状SSHでそのように
    ターミナルを起動した状態でなければ使用できません。

    シェルスクリプトなどをバッググラウンドで走らせてSSHのコネクションをキープする手段をとる方法もありますが、いつも繋がりっぱなしで無駄だと思います。

    繋ぎっぱなしでも問題有りません。

    簡単にセキュアに接続する手段はAppleのRemoteDesktopソフトウエア
    あたりで提供されているはずです。

  4. 5
    SUYAOSTOON Says:

    本日試してみました。結果から言いますと、ローカルから
    見れていると思います。

    最初「port22が閉まっている」?との内容のエラーが返ってきました。
    「ssh: connect to host xxxxx.ddo.jp port 22: Operation timed out」

    もともとルータのデフォルト設定で、port25を使っている設定があって
    (E-mail(SMTP)という設定)それにチェックを付けてルータを更新したことで
    port25を開けたつもりになっていたのですが、上記のエラーメッセージを受けて
    新たにport22を開ける設定を作ってみることにしました。

    気を取り直して進めると、パスワードを入力する所まで来て、入力するも
    画面上には反映されないことに戸惑いつつ、リターンを押すと、
    自宅のコンピュータ名が表示されました。

    あとはVNCで、ローカルホストからの接続は問題なく出来ました。

    この接続方法の際は、その都度ターミナルを立ち上げてこの作業が
    必要なのでしょうか?

    また繋ぎっぱなしにしていても大丈夫なものなのでしょうか?

  5. 4
    admin Says:

    よく勘違いされるのですがわたしはキャリアでも本職でもありません。
    趣味ですので。だからそんな高度なことはやっていないつもりです。

    …Could not connect to server

    はsshの画面ででたのでしょうか?
    ならばServerのIPアドレスが変わったか、ルーターの22/tcpが開いていません。

    IPアドレスは面倒なので何度も言うようですがDDNSをとりましょう。

  6. 3
    SUYAOSTOON Says:

    それではこちらにて質問させて頂きます。

    上記解説を実践する前に、とりあえず会社から自宅に
    前回同様に繋ごうとしたら、…あれ、繋がりません。
    以下、アラート内容。
    「Could not connect to server
     xxx.xxx.xx.xxx:5900
     operation timed out: connect()」
    自宅のグローバルIPアドレスが変わったのですかね。
    うーん、帰宅したら設定を見直してみます。

    ちなみに私は、これまでの経緯から判ると思いますが
    プログラミングの知識は全く無いです。
    情報処理学科ではなく画像処理学科に進んだため、
    ターミナルなどはもちろん触ったことが無く、
    上記の解説も意味など判らず、その通りにやろうとしています。

    引き続きご教授頂けると助かります。
    また多少の基礎が無いと質問自体がうまく伝わらないので、
    そういった易しい部分から解説してあるサイト、
    もしくは書籍などお教え頂けると幸いです。
    (cocoabottleさんに教えてもえると一番なんですけどね、
     それにしてもあまりに無知なので、)

  7. 2
    admin Says:

    べつにはてなじゃなくても構いませんよ。
    他に識者のかたが書いてくれるならおもしろいのですけど、
    あまりこの分野をやっている方がいないようなので、
    私だけ回答していてもつまらないですからね。

  8. 1
    SUYAOSTOON Says:

    その節はありがとうございました。こちらで解説されているSSHでの接続もぜひやってみます。月曜に。
    もしうまく行かなかったら、また教えてもらってもいいでしょうか?もちろんここのブログでは無く
    はてなで質問して、ささやかながらポイント還元いたしますので。

HTML convert time: 0.433 sec. Powered by WordPress