RaspbianやUbuntu、Fedora等、多くのRaspberry Pi用のディストリビューションは、SSHサーバ機能を標準で搭載しています。
SSHは仮想ターミナルへのログイン機能の他に、暗号化に対応したファイル転送機能を備えています。
Windows PCへSSHファイル転送に対応したプログラムをインストールすることで、Raspberry Piへのファイル転送のほか、フォルダの同期等が可能になります。
設定手順を記録しておこうと思います。
目次
Raspberry PiのSSHファイル転送/フォルダ同期設定
Raspberry Pi側SSH有効化
Raspbianの場合、raspi-configにてSSHを有効にします。2018年10月現在、既定ではSSH無効のため、必ず手動で有効にする必要があるようです。
sudo raspi-config
「5 Interfacing Options」を選択後「P2 SSH」を選択
これでRaspberry Piは、ファイル転送を行う準備ができました。
Ubuntu 18.01、Fedora 29の場合、systemctlでsshサービスを有効/無効にできますが、既定で有効になっていると思います。
Windows側SCPファイル転送プログラム
WinSCPのインストール
SSHファイル転送に対応したプログラムとして、オープン・ソース・ソフトウェアのWinSCPを使用させて頂きました。
こちらのページからWinSCPのインストーラーをダウンロードさせて頂き、インストール致しました。
ファイル転送設定
ログイン画面にて、接続するための設定を入力します。
- 転送プロトコル:SFTP
- ホスト名:Raspberry PiのIPアドレスまたはホスト名
- ポート番号:22
- ユーザ名:pi(Raspbianの既定のユーザの場合)
- パスワード:必要に応じて入力・保存します
「保存」ボタンをクリックして設定を保存後、「ログイン」ボタンでRaspberry Piに接続します。
初回ログイン時、警告が表示されます。「はい」をクリックすると、鍵が保存されて、次回から警告が表示されなくなります。
ログインすると、画面左側にWindowsのフォルダ、右側にRaspberry Piのディレクトリがフォルダとして表示されます。
基本的に、転送したいファイルやフォルダを選択後転送ボタン(←、→)をクリックするか、またはドラッグ&ドロップで双方向にファイルを転送する使い方になります。
フォルダ同期
ファイルやフォルダを頻繁に転送したい場合、フォルダの同期機能を使用すると便利なようです。Windows側(画面左)、Raspberry Pi側(画面右)それぞれ同期させるフォルダを選択後、メニュー→コマンド→同期を選択します。Ctrl+Sキーでも大丈夫なようです。
方向、モード、同期オプションを設定します。ローカル=Windows、リモート=Raspberry Piかと思います。OKボタンをクリックします。変更のあったファイルの一覧が表示されます。OKボタンをクリックすると、実際にファイルが転送されます。
FTP、NFSやSMB(Windowsファイル共有)でファイルを転送した場合、基本的にファイルは暗号化されないため、ネットワークの経路上で、パケットの盗聴(覗き見)の危険性があります。
SFTPによるファイル転送は、SSLによる暗号化が行われるため、そのような心配がなく、安心してファイル転送を行う事ができます。
Windows以外、たとえばAndroidスマートフォン等でもSFTP対応のファイル転送ソフトウェアがありますので、同じ方法でファイル転送されると便利かと思います。
WinSCPではなく、ネットワークドライブとしてRaspberry Piにアクセスしたい場合は、よろしければこちらの記事を御覧ください。