FTPやSSHサーバのディレクトリをマウントしたい

LINEで送る
Pocket

サーバ上のファイルを更新する時は、scp,ftp クライアントを起動してファイルダウンロード、もしくはscp コマンドを実行してファイルを手元にコピーしてファイルを更新、再度 ファイルをアップロードしていませんか?軽微の修正であればサーバにリモートログインして nano, vi などで直接ファイルを修正しても良いかもしれませんが、新規開発や大きな修正の場合は手元の開発ツールを使った方が効率が良いです。

curlftpfs, sshfs は、nfs や samba のようにサーバに ftp, ssh サーバが起動していればサーバの特定のディレクトリをローカルにマウントして、サーバ上のファイルをあたかもローカルのファイルとして扱うことが出来るツールです。

curlftpfs は、以下のコマンドでインストールします。

$ sudo apt -y install curlftpfs
Webサーバのドキュメントルート /var/www/html/ を ローカルの ~/work/ ディレクトリにマウントします。
$ mkdir ~/work
$ curlftpfs -o user=taro:password 192.168.0.1://var/www/html/ ~/work/    <- : の後の / は // 2つ必要

アンマウント

$ sudo umount work

編集を行う場合は、アクセスしたユーザの /var/www/html への書き込み権限が必要です。

sshfs は、以下のコマンドでインストールします。

$ sudo apt -y install sshfs
$ sshfs taro@192.168.0.1:/var/www/html/ ~/work/
taro@192.168.0.1's password:

アンマウント

$ sudo umount work

curlftpfs は、マシンを起動する毎にコマンドを実行する必要がありますが、sshfs は、 /etc/fstab に記述しておけば、起動時に自動マウントしてくれます。
自動でマウントするためには、公開鍵認証を使ってサーバにパスワード無しで
自動ログイン出来るようにしておく必要があります。

公開鍵は、以下の方法で作成します。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/taro/.ssh/id_rsa): [Enter]
Enter passphrase (empty for no passphrase): [Enter]
Enter same passphrase again: [Enter]

公開鍵は、~/.ssh/id_rsa.pub に作成されるのでサーバにコピーします。

$ scp -p ~/.ssh/id_rsa.pub 192.168.0.6:

対象サーバにログインして、コピーした ~/id_rsa.pub を ~/.ssh/authorized_keys ファイルに追記して、パーミションを 6000 にします。

$ cd ~
$ mkdir .ssh
$ chmod 700 .ssh
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ rm ~/id_rsa.pub

/etc/fstab に以下の行を追記すると、起動時に自動でマウントされます。

taro@192.168.0.1:/var/www/html/ /home/taro/work fuse.sshfs auto,_netdev,users,IdentityFile=/home/taro/.ssh/id_rsa,allow_other,reconnect,delay_connect,umask=0000 0 0
LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください