Hatena::ブログ(Diary)

備忘録 beta

2010-12-22

Samba over SSH

名前の通り、SSHを通して外部LANSambaに接続する。

ポートフォワードするだけなんだけど。

実は私の環境ではSFTPがあれば、何の問題もないけど、興味本位で。

ランダムアクセスしたいときに使えるし。

環境

サーバ側は以下を想定。まぁ一般的な環境。


クライアント側はポートフォワードに対応したSSHクライアントがあればOK

今回は Ubuntu10.10 + OpenSSH を使用

Windowsでもputtyとかでいける。

方法

まず、ポートフォワーディング。

1023以下のポートを占有するので、root権限が必須。

sudo ssh -L 139:samba_server:139 ssh_user@ssh_server

samba_serverは(SSHサーバから見た)Sambaサーバのアドレス。NetBIOS名でも可。

ssh_user@ssh_serverは(ローカルから見た)SSHサーバのユーザ/アドレス。普段ログインするときに使ってるもの。

そしてアクセス。Ubuntuの場合Nautilusでそのままいける。

先ほどのシェルSSHサーバに繋がってるのでもう一つシェルを開いて(もちろん、先ほどのsshでNオプションをつけてもいい。)

nautilus smb://localhost/share_name

と打てば、ファイルブラウザ(Nautilus)が開いてディレクトリが表示される。

share_name はSambaでの共有名。

もちろん、smbmountやsmbclientやらでも問題ない


windowsでもエクスプローラ

//localhost/share_name

と入力すればアクセスできる。

出来ない場合

以上で出来ない場合は、Sambaサーバの設定を見直すのが良いかも。

私の場合、

interfaces = 192.168.11.0/24
bind interfaces only = yes

コメントアウトしてsamba再起動でアクセスできた。

実はよく分かってないのでもう少し要調査。

問題点

問題が2つほど。

  • root権限が必要。
  • ローカルのLAN(意味かぶっとる)のSambaにアクセスできない。

一見ローカルのポートを変えれば全て解決しそうな気がするが、

ssh -L 8139:samba_server:139 ssh_user@ssh_server
nautilus smb://localhost:8139/share_name

と入力しても何故かエラー(Connection time out)。

これについてはよく分からない。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/yuta84q/20101222/1292986858