HOME | Raspberry Pi | ビジネス書籍紹介 | 2026-01-04 (Sun) Today's Access : 158 Total : 1260856. Since 10 Sep. 2019

ファイル共有 dokany + Win-sshfs
2019.12.19 (2020.08.14更新)

YouTube 動画でポイントを説明しています。上記画像をクリックすると再生できます。

今回はラズパイに接続したSSDをWindowsのドライブとして利用できるようにします。
独りで複数台のパソコンを使って開発していると、ファイル共有機能はとても役立ちます。
また、ノートパソコン内にデータを置かないので、カフェでちょっと席を外したときにパソコンが盗まれても、開発中のソースコードを消失する心配がありません。
ファイルサーバーといえば、Sambaを連想させますが、ラズパイ側にSambaを組込む必要はありません。
ubuntu 側では初期状態でsshが稼働しているので、特別な指定は行いません。
Windows側に、Win-sshfs を組込むことで、SSH経由でラズパイの拡張ディスクをマウントすることができます。
また、Sambaはローカルネットワークでの利用が前提ですが、固定IPアドレスでインターネットに接続している場合には、 Win-sshfsを用いることで、インターネット側から、ローカルにあるラズパイをWindowsのドライブとして使用することができます。



ラズパイの機種選定ですが、常時稼働可能で、低消費電力、冷却ファンが必要のないRaspberry Pi 2 Model Bを選びました。
ヒートシンクだけの初期状態で36.8℃、大量にファイル転送を行っている最中でも40.1℃でした。 ※トップ画像に冷却ファンが付いていますが、デザイン的にあったほうがかっこよかったので、単なるオブジェです!
Raspberry Pi 2B はUSB2.0ですので、性能を発揮できませんが、常時稼働なので省電力を優先してSSDにしました。 SSDのケースを選ぶときには、USB2.0にも対応しているか確認が必要です。

【Raspberry Pi 2 model B v1.1仕様】
CPU: Broadcom BCM2836
900MHz 64-bit quad-core ARMv7 Cortex-A7
メモリ: 1GB DDR2 450MHz 低電圧 SDRAM
インターフェイス: USB2.0 Standard A コネクター x4
HDMI x1(出力)
microSDカードスロットx1
3.5mmジャック(オーディオ/コンポジットビデオ出力)
Camera interface (CSI)
Display interface (DSI)
40ピンGPIO
有線LAN: RJ-45 x1:IEEE802.3i/3u(10BASE-T/100BASE-TX)
電源定格 / 消費電流: DC 5V / 900mA
※USBポート、GPIOへの出力値は含まず。
外形寸法 / 質量: 約86(W) x 57(D) x 17(H) mm / 約45g
動作温度範囲: 0~70℃

■ubuntu 18.04.3 インストール
下記の手順で、ubuntu server をインストールして、SSDを接続します。
詳細は、「ラズパイで自宅WEBサーバ構築」で説明していますので、そちらを参考にしてください。

自宅WEBサーバ構築 第2回 Ubuntu Server インストール
自宅WEBサーバ構築では、64bit版 Ubuntu Server をインストールしましたが、Raspberryp Pi 2Bでは 32bit版 Ubuntu Server をインストールします。
http://cdimage.ubuntu.com/releases/bionic/release/ubuntu-18.04.3-preinstalled-server-armhf+raspi3.img.xz
ファイルサーバーでは外部にSSHポートを解放するため、パスワード設定を強化します。自分でも忘れることのない長いパスワードを付けましょう。
例えば、「タコの足は8本、イカの足は6本」は Ta5noa488ponikanoa486pon。
24桁のパスワード総当たりはかなり時間が掛かります。
$ passwd
Ta5noa4wa8pon.ikanoa4wa6pon

自宅WEBサーバ構築 第3回 Ubuntu Server 詳細設定
当方の環境では、LAN内のWEBサーバーでタイムサーバーも設定しているので、ルーターのポートの重複を避けるため、 ファイルサーバーではタイムサーバーを設定していません。初期設定時に手動で、おおよその時刻合わせにとどめます。
$ sudo timedatectl set-timezone Asia/Tokyo
$ sudo date --date='TZ="Asia/Tokyo" 2019-12-15 09:00'
$ sudo systemctl disable systemd-timesyncd.service
※ntpは/etc/ntp.confではなく、 /etc/systemd/timesyncd.conf で行われています。

自宅WEBサーバ構築 第11回 crontab 設定
システムログの世代管理を行います。
ファイルサーバーでは、データベース管理システム MySQLは使用していないので、その部分の設定は必要ありません。

■ファイアーウォール(iptables) 設定

iptables 設定用スクリプトを作成します。
$ mkdir /home/ubuntu/scripts
$ cd /home/ubuntu/scripts
$ vi iptables.sh
#!/bin/bash

iptables -F
iptables -X

iptables -P INPUT   DROP
iptables -P FORWARD DROP
iptables -P OUTPUT  ACCEPT
 
iptables -A INPUT -p tcp --dport 22  -j ACCEPT    ← SSH
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
スクリプトファイルのアクセス権限を設定します
$ sudo chmod 700 iptables.sh

フィルタを適応します
$ sudo ./iptables.sh
一旦、接続が遮断されるので、再度、SSH接続します。

設定を確認します
$ sudo /sbin/iptables -L
Chain INPUT (policy DROP)
target     prot opt source     destination
ACCEPT     tcp  --  anywhere   anywhere      tcp dpt:ssh
ACCEPT     all  --  anywhere   anywhere
ACCEPT     all  --  anywhere   anywhere      state RELATED,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
システム起動時にスクリプトが実行されるようにするとよいでしょう。
自宅WEBサーバ構築 第10回 ファイアウォール(iptables) 設定
$ sudo nmap localhost
PORT STATE SERVICE 22/tcp open ssh
■パッケージの更新
$ sudo apt-get update
$ sudo apt-get upgrade
■外付けSSDのUSB接続
自宅WEBサーバ構築 第12回 運用準備
「外付けハードディスクの設定」の部分を参考にしてください。
SSDをUSB接続して、ファイルサーバーとして利用します。

■ブロードバンドルーターの設定
固定IPアドレスでインターネット接続している場合は、外部からのアクセスも可能にできます。 そのときには、SSHの22番ポートをそのまま晒したくはありません。 ブロードバンドルーターのポートマッピング機能で、例えば
(外側)56789←→22(内側) などと工夫したほうがよいと思います。
動的・プライベート ポート番号 (49152–65535)の範囲で割り振るのがよいかもしれません。

■dokany + win-sshfs

Win-sshfsは、SSHを経由して、他のサーバのディレクトリをWindows上にマウントすることができるコマンドです。

Dokanライブラリ は WindowsでSSHFSを利用する為のライブラリです。 Windowsのカーネルに関する知識が必要なデバイスドライバを作成しなくても、独自のファイルシステムを作成できる機能を提供しています。
これは、Dokan カーネルドライバがユーザースペースのファイルシステムプログラムとWindowsカーネルの橋渡しをすることで実現しています。
オリジナルのDokanライブラリは開発が止まっていて、後継のdokany へ引き継がれています。

Dokanのインストール
WinSshFS v1.6.1.13を動かすためにはdokany v1.0.3が必要です。
https://github.com/dokan-dev/dokany/releases/tag/v1.0.3
→ DokanSetup.exe をダウンロード


DokanSetup.exe を実行

win-sshfsをインストール (1.6.1.13 devel RC5)
https://github.com/feo-cz/win-sshfs/releases/tag/1.6.1
→ WinSSHFS-1.6.1.13-devel.msi をダウンロード
※1.6.1.13 より前のバージョンではリソースリークの問題があります。

WinSSHFS-1.6.1.13-devel.msiを実行すると、ショートカットが生成されます。


Dokan Library は、Windows 8 以上に対応していないので、win-sshfs は、Windows 7 互換モードで実行する必要があります。
アイコンを右クリックして、プロパティー画面を表示、互換性タブから互換モードに Windows 7 を選択してチェックを入れます。


■ssh接続をネットワークドライブに割り当てる

デスクトップ上の WinSshFSアイコンをクリックして起動します。


[Add] を押して、接続先を指定します。

同一LAN上のWindowsパソコンからのアクセスの際には、SSHの22番ポート番号を指定します。
Windowsで使用したいドライブ番号も指定します。
キープアライブ (keepalive) は、セッションが切れないように、定期的に自動送信される信号の間隔です。

設定が完了したら[Save] を押して設定を保存します。


インターネットから接続する際には、ポートマッピングで指定した外側のポート番号を指定します。

[Mount]ボタンをクリックすると、ネットワークドライブとしてアクセス可能になります。
[Umount] でマウント解除します。

ちょっと不便なのは、複数の接続設定で、同一のドライブ番号を指定できないようです。
同じドライブ番号を使いたいときは、重複するドライブ番号を一時的に書き換えてから、使用してください。

■Ubuntuサーバー間でファイル共有を行う

こちらは未確認ですが、下記のような方法で、ファイル共有が行えるようです。
$ sudo apt-get -y install sshfs

ローカルサーバー:server1 に ~/sshmnt ディレクトリ作成します。
$ mkdir ~/sshmnt
リモートサーバー:server2 の /home/ubuntu ディレクトリをマウントします。
$ sshfs ubuntu@server2:/home/ubuntu ~/sshmnt
※server2 には、ホスト名あるいはIPアドレスを指定してください。

アンマウント
$ fusermount -u ~/sshmnt
Raspberry Pi(ラズベリー パイ)は、ARMプロセッサを搭載したシングルボードコンピュータ。イギリスのラズベリーパイ財団によって開発されている。
2019.12.19 ファイル共有 dokany + Win-sshfs
2019.12.26 Arduino開発環境構築 PlatformIO
2022.02.08 Zero 2 W と Bullseye
2022.07.15 NAS導入とApache2パス設定
2023.04.01 秋月・amazon・PIMORONI・tindie
2023.07.16 ログ表示
2024.04.23 NASリプレース
2024.10.24 Bookworm & PlatformIO
2025.08.09 ESP32 WEB SERVER

たいていのことは100日あれば、うまくいく。長田英知著
「時間がなくて、なかなか自分のやりたいことができない」 「一念発起して何かを始めても、いつも三日坊主で終わってしまう」 「色んなことを先延ばしにしたまま、時間だけが過ぎていく」 そこで本書では、そんな著者が独自に開発した、 まったく新しい目標達成メソッド「100日デザイン」について、 その知識と技術を、余すところなくご紹介します。

まんがで納得ナポレオン・ヒル 思考は現実化する
OLとして雑務をこなす日々に飽き足らず、科学者だった父が残した薬品を商品化すべく、起業を決意した内山麻由(27)。彼女はセミナーで知り合った謎の女性からサポートを得ながら、彼女と二人三脚でナポレオン・ヒルの成功哲学を実践し、さまざまな問題を乗り越えていく。 ヒル博士の<ゴールデンルール>に従い、仕事に、恋に全力疾走する彼女の、成功への物語。

今日は人生最悪で最高の日 1秒で世界を変えるたったひとつの方法 ひすいこたろう著
偉人の伝記を読むと、最悪な日は、不幸な日ではなく、新しい自分が始まる日であることがわかります。最悪な出来事は、自分の人生が、想像を超えて面白くなる兆しなのです。偉人伝を読むことで、このときの不幸があったおかげで、未来にこういう幸せがくるのかと、人生を俯瞰する視線が立ち上がるのです。

ご飯は私を裏切らない heisoku著
辛い現実から目を背けて食べるご飯は、いつも美味しく幸せを届けてくれる。 29歳、中卒、恋人いない歴イコール年齢。バイト以外の職歴もなく、短期バイトを転々とする日々。ぐるぐると思索に耽るけど、ご飯を食べると幸せになれる。奇才の新鋭・heisokuが贈るリアル労働グルメ物語!

【最新版Gemini 3に対応!】できるGemini (できるシリーズ)
Geminiを「最強の知的生産パートナー」として使いこなすための、実践的なノウハウを凝縮した一冊です。 基本的な操作方法から、具体的なビジネスシーンでの活用、日々の業務を自動化するGoogle Workspaceとの連携、さらには自分だけのオリジナルAIを作成する方法まで余すところなく解説します。

Rustプログラミング完全ガイド 他言語との比較で違いが分かる!
Rustの各手法や考え方を幅広く解説! 500以上のサンプルを掲載。実行結果も確認。 全24章の包括的なチュートリアル。

ポチらせる文章術
販売サイト・ネット広告・メルマガ・ブログ・ホームページ・SNS… 全WEB媒体で効果バツグン! カリスマコピーライターが教える「見てもらう」「買ってもらう」「共感してもらう」すべてに効くネット文章術

小型で便利な Type-C アダプター USB C オス - USB3.1 オスアダプター
Type-C端子のマイコンボードをこのアダプタを介して直接Raspberry Piに挿すことができます。ケーブルなしで便利なツールです。

Divoom Ditoo Pro ワイヤレススピーカー
15W高音質重低音/青軸キーボード/Bluetooth5.3/ピクセルアート 専用アプリ/USB接続/microSDカード

電源供給USBケーブル スリム 【5本セット】
USB電源ケーブル 5V DC電源供給ケーブル スリム 【5本セット】 電源供給 バッテリー 修理 自作 DIY 電子工作 (100cm)

Copyright © 2011-2027 Sarako Tsukiyono All rights reserved®.