今回は Dokany と WinSshFS Foreveryone を使って、 LinuxマシンのフォルダをWindowsのドライブとしてマウントしてみる。


前準備

SSH.NetライブラリはOpenSSHの鍵に対応しているが、今回の製品で使われてるのが古いのでいくつか制限がある。仕方ないので古い形式の秘密鍵を作ってログインできるようにしておく

  • SSH.Net が古いので-m PEMがないとダメらしい。
  • SSH.Net が古いので-t ed25519とか指定しちゃうとダメだ。 -t 指定なしだと接続できてた。
cd ~/.ssh
ssh-keygen -m PEM  -f {KEY_FILE_NAME}
cat {KEY_FILE_NAME}.pub

生成できたら {KEY_FILE_NAME}.pub の内容をログイン先のauthrized_keysに追記する。


インストール

  • DokanyのリリースページからDokanSetup_redist-1.0.5.1000.exeをダウンロードしてインストールする。
  • なお最新の1.4.1.1000だと WinSshFS Foreveryone がVersion error を出す。
  • WinSshFS ForeveryoneのリリースページからWinSSHFS-1.6.1.13-devel.msi (2016年!) のインストーラをダウンロードしてインストールする。

設定

スタートメニューから winssh で検索するとWinSSHFSアプリが見つかる。 起動するとタスクバーでる常駐アイコンを右クリックして「Show Manager…」を選ぶ。

設定画面

  • マネージャー画面で左下のAddを押す。
  • 右上から項目を埋めていく。
  • Drive Name: 他の設定と区別するための名前をつける。
  • Host: SSH接続先のホスト名かIPアドレス。
  • Post: SSH接続先のポート番号。
  • Username: SSHログインのユーザ名。
  • Authentication method: 認証方法。パスワード、秘密鍵、Pagent(Puttyのagent)から選ぶ。今回は秘密鍵を選ぶ。
  • Private Key: 前準備で作成した鍵の、秘密鍵の方(.pubがついてない方)のファイルのフルパスを指定する。
  • Directory: SSH接続先のフォルダを指定する。
  • Drive Letter: Windows PCのどのドライブにマウントするか指定する。
  • Mount at Login: PC起動時に自動的にマウントする。

今回は Proxy 以下は設定しない。

記入が終わったらSaveしてMountする。 私が試した時はSSH秘密鍵のバージョンやDokanyのバージョンで何度か失敗したが、上に書いた注意点を読めば多分大丈夫だろう。


利用

エラーが出なかったらエクスプローラでフォルダを開ける。

マウントしたフォルダ

FTPクライアントやWevDAVと違い、ちゃんとしたファイルシステムなのでいちいち転送する必要もなく、アプリでファイルを直接開いて編集できる。