ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

SSHコミュのポートフォワーディング使い倒し

  • mixiチェック
  • このエントリーをはてなブックマークに追加
コミュのみなさま初めまして。
トピック立てさせて頂きました。>管理人様

SSHとくればポートフォワーディング機能!と思っています。
しかし、例えば社内イントラサーバにhttp接続する場合、自分の場合はURLがhttp://127.0.0.1:8080/とかになってしまいます。
そうすると、もしイントラサーバが社内DNSサーバに依存するような構成だった場合、微妙に面倒だったりしますよね。

上記みたいな場合の解決策やその他のノウハウなど情報交換させて頂ければと思いました。

ちなみに自身は
NetBIOS over ssh
http://hp.vector.co.jp/authors/VA001791/software/putty.html
というページを参考に、SSH経由でリモートのWindows共有フォルダをローカルドライブ接続させることができました。すごく便利です。

「そんなの大したことありませんが何か。こういう使い方をしないのはモグリです。」みたいなご意見よろしくお願いします。

コメント(4)

「こういう使い方をしないのはモグリです」というコメントではないですが、openssh の RemoteForward で悩んでいることがあります。
ssh -R rport host:port remote
で、remote で rport を Listen しておいて、そこへの接続をローカル側の host:port に転送できますよね。.ssh/config に RemoteForward rport host:port と書いておいても同じことができます。

リモート(sshd)側で、-R で接続要求してきたクライアントに対して、Listen できるポートを制限したい場合、どうするべきかというところで悩んでいます。それも、認証に使った公開鍵別に制限したいのです。

openssh の authorized_keys の説明を読んでみると、
no_port_forwarding
permitopen="host:port"
などのオプションがありますが、前者だと -R をすべて遮断してしまいますし、permitopen は -L に対して制限をかけると書かれています。

意図としては、クライアントに好き勝手な port を Listen させないようにしたいのというのがありまして、子プロセスの sshd が Listen するポートを制限するのですから sshd に手を入れれば原理的に可能なのはわかるのですが、ハックするしかないでしょうか。
すいません、書き込みに気づきませんでした orz。

がんばってsshdで制限しても、リモート側でシェルのアクセスを許してしまえば
勝手な転送プログラムを走らせることができてしまい、意味がなくなります。

このため、sshdだけの制限では不十分です。
すぐに思いつく方法としては、

・リモートではシェルの実行を禁止し、ポート転送用のプログラムのみ起動を許す。
ポート転送用のプログラムでユーザごとにポートを制限する。

または、

・リモートのOSでSELinuxのような機能を用いて、OSレベルでユーザごとにlistenできるポートを制限する。

くらいでしょうか。

書き込みありがとうございます。

目的は、秘密鍵を内蔵した組み込み機器クライアントからの接続に対して制限付きでポートフォワードさせるだけですので、シェルアクセスは許していません。

結局、sshd をハックして、authorized_keys の書式を拡張して Listen できるポートを秘密鍵ごとに制御できるようにして目的は達成されました。
やっぱりもう解決ずみでしたかあせあせ(飛び散る汗)

組み込みですか。楽しそうなことされてますね。わーい(嬉しい顔)

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

SSH 更新情報

SSHのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング