FUSE+OpenSSH
NotePCに全てのデータを持ち歩くことは、最近はセキュリティの観点から推奨されません。
企業の規則によっては、完全に禁止されております。
そこでネットワークディレクトリを使用して、ローカルPCには最低限の物しか保存しないようにする方法があります。
ただし、普通にSFTPなどで接続するのでは、利用する際に不便です。
そんな時、ネットワークディレクトリをあたかもローカルディレクトリに「偽装」する技があります。
ネットワークディレクトリは、SSHでアクセスできるサーバを想定します。
まず、sshfsというアプリケーションをインストールします。
sudo apt-get install sshfs
これだけで作業の50%が終了です。
そして、コマンドを入力します。
sshfs username@remote-server-name: /home/me/test
usernameは接続するSSHサーバでのユーザ名
remote-server-nameはSSHサーバ名
/home/me/testはローカルにある空のディレクトリ(testと言う空のディレクトリは作っておきます)
remote-server-nameの直後の:は必須です。
接続先のポートを指定する時には、「-p ポート番号」を付けます。
もし、リモートサーバのディレクトリを指定したい場合は、:の後にフルパスで指定可能です。
指定しないとusernameのホームディレクトリになります。
たったこれだけで、lsやmkdirなどローカルディレクトリと変わらない操作が可能です。
ただし、接続する際にパスワードを聞かれてしまいます。
これはこれでセキュリティを保てるので、完了です。
ここから先はマニアックな人向け。
自動接続などではパスワードの入力を省きたいので、以下の作業を行います。
cd ~/.ssh[enter]
ssh-keygen -t dsa[enter]
実行すると、キーの保存先やパスフレーズを聞かれますが、全てenterキーを押して完了させます。
id_dsa、id_dsa.pubというファイルが出来上がっています。
id_dsaファイルは秘密キーなのでそのまま大切にします。
id_dsa.pubファイルは公開キーです。
これをSSH接続先のサーバ上の~/.ssh/authorized_keys2ファイルとしてアップロードします。
※~/.ssh/authorized_keys2ファイルが既に存在する場合、id_dsa.pubファイルの内容を追記するようにしてください。
cat id_dsa.pub >> ~/.ssh/authorized_keys2
これでSSH接続時のパスワードは聞かれないようになります。