sshfsを使って踏み台サーバ経由で開発用サーバのファイルをマウントする方法
概要
- 踏み台サーバ経由で開発用サーバにアクセスする必要がある場合
- 開発用サーバのファイルをローカルにマウントしたい
- sshfsを使ってマウントする
なぜsshfsを使う?
例えば、VSCodeを使って開発する場合、
Remote SSHを使えば無駄な労力なくローカル環境で開発できるが、
接続先があまりにも大きすぎると、フリーズすることがしばしば
sshfsでは体感ですが、快適に開発することができます
環境構築
macの場合
-
FUSE for mac
をインストール
$ brew tap homebrew/cask
$ brew cask install osxfuse
- sshfsのインストール
$ brew install sshfs
# インストールされたことを確認
$ sshfs --version
Ubuntuの場合
$ apt install -y sshfs
# インストールされたことを確認
$ sshfs --version
sshの設定
キーペアの配置
ssh接続するために作成した開発用サーバのキーペアをダウンロードして、
名前をdev.pem
に変更し~/.ssh/keys
にコピー
# キーペアの名前をdev.pemに変更
$ mv xxxx.pem dev.pem
# キーペアの移動
$ cd dev.pem ~/.ssh/keys
キーペアがない場合は、こちらを参考にキーペアを作成する。
configファイルの編集
Host jump-host
User <<踏み台サーバのホスト名:ec2-userなど>>
HostName <<踏み台サーバのグローバルIPアドレス>>
port 22
TCPKeepAlive yes
ServerAliveInterval 60
Host dev-server
User <<踏み台サーバのホスト名:ec2-userなど>>
HostName <<開発用サーバのプライベートIPアドレス>>
port 22
IdentityFile ~/.ssh/keys/dev.pem
ProxyCommand ssh -W %h:%p jump-host
TCPKeepAlive yes
ServerAliveInterval 60
RemoteForward 52698 127.0.0.1:52698
IPアドレスがわからない場合は、以下の記事参照
EC2のIPアドレスを調べる方法(超初心者向け)
マウント
マウントしたいファイルのパスを指定して、下記のコマンドを入力
$ sshfs -o follow_symlinks dev-server:<<マウントしたいファイルのパス>> ~/Workspace/dev
ファイルパスは以下のコマンドで確認
$ pwd
/home/ec2-user/dev
例) /home/ec2-user/dev
をマウントするとき
$ sshfs -o follow_symlinks dev-server:/home/ec2-user/dev ~/Workspace/dev
アンマウント
$ umount -f ~/Workspace/dev
便利な設定
マウントおよび、アンマウント時に入力するコマンドはどうしても長くなってしまうので、エイリアスを設定しましょう
# setting sshfs
# mount
alias sfdev='sshfs -o follow_symlinks dev-server:<<マウントしたいファイルのパス>> ~/Workspace/dev'
# unmount
alias ufdev='umount -f ~/Workspace/dev'
Author And Source
この問題について(sshfsを使って踏み台サーバ経由で開発用サーバのファイルをマウントする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/satto_sann/items/76cee7b5f6a7b02e6427著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .