はじめに
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設定
システム環境設定 > 共有 > リモートログインを許可(オン)します。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/