LoginSignup
1
0

More than 1 year has passed since last update.

逆sshfs

Last updated at Posted at 2022-06-21

はじめに

sshfsでローカルのディレクトリをサーバーにマウントします。 

注意点

ローカルのディレクトリをマウントしているのでネットワークの環境によっては遅いかもしれません。

環境

Server

Amazon Lightsailを使用
項目 内容
OS Amazon Linux2

Local

Macを使用
項目 内容 バージョン
OS MacOS Big Sur 11.2.3

Server設定

Macのターミナルを使って、sshでサーバー入り作業します。


EPEL レポジトリをインストール
sudo amazon-linux-extras install -y epel


fuse-sshfsパッケージをインストール
sudo yum install -y fuse-sshfs


マウント先のディレクトリを作成
mkdir /home/ec2-user/test-server

Local設定

システム環境設定 > 共有 > リモートログインを許可(オン)します。

img1.png

SSH接続情報を用意

vi ~/.ssh/config

Host sshfs-test-server
        HostName {ServerのIP}
        User ec2-user
        IdentityFile ~/.ssh/{ServerのSSHキー}


マウント元のディレクトリとテスト用のファイルを用意
mkdir /Users/{Macのログインユーザー名}/test-local
cd /Users/{Macのログインユーザー名}/test-local
date >test.txt

確認

sshでサーバーに入ります。
ssh sshfs-test-server -R 10022:localhost:22


サーバーで下記コマンドを実行して、ローカルのディレクトリをマウント
sudo sshfs -p 10022 -o idmap=user,nonempty,allow_other,uid=1000,gid=1000 {Macのログインユーザー名}@127.0.0.1:/Users/{Macのログインユーザー名}/test-local /home/ec2-user/test-server


パスワードを聞かれるので、Macのログイン時に入力したパスワードを入力します。
Password: {Macのログイン時に入力したパスワード}


/home/ec2-user/test-server 内に Mac側で作成した test.txt がマウントされてます。
Server側で編集しても、Mac側で編集しても、編集内容が反映されます。

マウント解除

Server側で下記コマンドを実行するとマウントが解除できます。
sudo umount sshfs-test-server /home/ec2-user/test-server/

最後に

私はdockerの経験が浅かったので、問題が起きた時にdocker以外なら動くのかの確認をする為に使用してました。 サーバーは構築できるので準備しておき、マウントする際はnginxが指してるディレクトリにマウントして確認をしてました。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0