ssh 経由のマウント機能の設定方法については先日アップした。
非常に便利な機能なので、いろいろ応用を試している。現在、以下が実現可能になった。
- Windowsクライアントからリモートファイルサーバ(ssh接続可能)にネットワークドライブ接続する
- 文字コードの異なるUNIX系OS同士を接続する
Windowsクライアントからリモートファイルサーバ(ssh接続可能)にネットワークドライブ接続する
準備
- ローカルネットワーク上に、samba および sshfs をインストールしてあるUNIX系コンピュータを配置
VMWare など仮想OSでも可 - 上記コンピュータから対象リモートファイルサーバにPKI を使用してSSH接続できるよう設定
SSHサーバ上での認証はパスワードでも可能ではあるが、接続用スクリプトにパスワードを記述する必要があるためセキュリティ的な面でお薦めできない - マウント用ディレクトリ
→sshfsコマンド(ssh)で接続する際のユーザがマウント権限をもつディレクトリであることが必要
例:/usr/local/share/sshmount drwxrwxrwx - 上記マウント用ディレクトリ以下に接続できるようsambaを設定しておく
接続手順
- 【ローカルUNIX→リモートファイルサーバ】次のコマンドを実行
sshfs (user)@(remotehost):/(remotedir) /(mountdir)
例:sshfs user01@sv.hogehoge.com:/home/user01/sshmount /usr/local/share/sshmount/hogedir
(user) ... SSH接続するユーザ
(remotehost) ... リモートファイルサーバのホスト名(またはIPアドレス)
(remotedir) ... リモートファイルサーバ上の、SSH接続するディレクトリ
(mountdir) ... ローカルUNIX上のマウント用ディレクトリ - 【Windows クライアント→ローカルUNIX】次のコマンドを実行(Windows のコマンドプロンプト)
net use (x:) \\(localUNIX)\(mountdir)
(x:) ... ネットワークドライブ文字
(localUNIX) ... ローカルUNIXのホスト名(またはIPアドレス)
(mountdir) ... ローカルUNIX上のマウント用ディレクトリ ※あらかじめ samba で接続可能に設定しておく必要がある
文字コードの異なるUNIX系OS同士を接続する
ローカルUNIXの文字コードがEUC-JP、リモートファイルサーバの文字コードがUTF-8の場合、以下のようにコマンドを実行するsshfs -o modules=iconv -o from_code=UTF-8 -o to_code=EUC-JP (user)@(remotehost):/(remotedir) (mountdir)

コメントする