scponly で ssh の設定を細かくいじりたかった → Zebedee 勉強しろってことらしい

まぁ shell なんだからそんなに様々なことができる方が変なんだけど、やっぱ ssh は自由すぎてこえーな。chroot はともかく、port forward を許可するユーザーと許可しないユーザー、許可するポート、とか細かく設定できると嬉しいんだが。1

OpenBSD 的にはそんなものは必要ないものなのかな? port forward の制限は(Remote Forward を除いて)Zebedee で手軽にできるが、一部の port forward とデータ転送の両方を許可したい、でも shell の解放はいや、って場合はどうしたらいいのかなぁ。

なんでこんなことを思うかというと、scponly は対話的 shell での作業はできないが、セッションは維持できるので port forward が可能なのである。まぁ今はそれを逆に便利に使わせてもらっているんだけど、そうさせたくないユーザもいる。でも ssh はグループやユーザー別に細かい設定ができるわけじゃない。

もう一つの方法は .bash_profile(など)にいきなり exit を書いておく。これは目的のセッションが終了すればたぶん問答無用で切れるので、ファイル転送が終わったら切れるとか、そういう都合のいい動きをしてくれないだろうか。

ユーザーのアクセスできる資源を細かくコントロールしたいならやっぱフロントエンドに立つサーバとそうでないサーバを分けるべきか。そういうことだろうなぁ。ファイル転送を受け付けるサーバだけ分ける。これがよさげだ。

それかファイル転送はもう ssl + WebDAV 限定か。あーそれが楽なのか。と、いうことは、やっぱ port forward 目的の ssh はやめて可能な限り Zebedee で実現するのがいいんだな。なるほど。

あ。一つは port forwarder をやめて Zebedee にできそうな気がしてきた。もう一つも Zebedee の逆向き接続ができれば不要だ。結局ここにたどり着いたか。。。

Zebedee 逆流できた

以前できないできないと思っていたのは VNC の loopback 接続を許可していなかったからだった。(実験を VNC 以外それっぽいサービスの動いていない Windows でやっていたので。)

今回 RealVNC から TightVNC に変更して確認。まだ鍵認証を試していないので、それを試して、listen port がどのように設定の影響を受けるのかよく確認して記事を書こう。とりあえず port forward は Zebedee 一本でイケるってことは確実になった。嬉しい。

  1. OpenSSH 4.4 以降は PermitOpen で port の制限を、4.7 以降は Match によってユーザーなどの制限を行うことができるようになっている。 

More