mac から sshfs でサクラVPSをマウントしてみた
OSX FUSE インストール
dmgファイルからインストール
OSXFUSE Preference Pane
にもチェックを入れてインストールしておく
(システム環境設定にパネルができます)
sshfs インストール
pkgファイルからインストール
ここまで終わったら一度、再起動
マウント
mkdir /Volumes/HOST
sshfs -o follow_symlinks -p 22 USER@HOST:/home/USER /Volumes/HOST
アンマウント
umount /Volumes/HOST
便利シェル
使い方
~/local/bin
とかにいれてパーミッション755
にして使ってください # マウント ssshfs szyan@example.com “/home/szyn” # アンマウント ssshfs -u example.com
コード
ssshfs.sh
#!/bin/bash
# SSSHFS
# sshfs を利用してサーバをマウントする便利shell
#
# http://blog.szyn.jp/
# Copyright 2013, Shuhei Suzuki
# Released under the MIT, BSD, and GPL Licenses.
# マウントするディレクトリ
VOLUMES='/Volumes'
# ヘルプ出力用
usage()
{
echo "usage: ssshfs <オプション>"
echo
echo "使用可能なオプション:"
echo " USER@HOST DIR USER ユーザで HOST サーバの DIR ディレクトリを"
echo " ローカルの/Volumes/HOSTにマウントします"
echo " --unmount(-u) HOST HOST サーバをアンマウントします"
echo " --help(-h) ヘルプを表示します"
exit 0
}
case "$1" in
# アンマウント
"--unmount" | "-u")
# @ が含まれている場合を考慮
HOST=$2
if [[ "$HOST" =~ @ ]]; then
HOST="$(echo $HOST|cut -d'@' -f2)"
else
umount "/Volumes/$HOST"
echo "unmount /Volumes/$HOST"
;;
# ヘルプ
"--help" | "-h")
usage
;;
# マウント
*)
# 空文字ならヘルプ表示
if [[ -n "$1"]]; then
usage;
fi
HOST=$1
DIR=$2
# -m | --mount オプションを考慮する
if [[ "$HOST" =~ ^(-m|--mount)$ ]]; then
HOST=$2
DIR=$3
fi
# HOST部分の @ から前方を USER, 後方を HOST として使用
# @ が含まれていなければシステムのユーザ名を USER とする
if [[ "$HOST" =~ @ ]]; then
USER="$(echo $HOST|cut -d'@' -f1)"
HOST="$(echo $HOST|cut -d'@' -f2)"
else
USER="$(whoami)"
fi
# /Volumes/$HOSTディレクトリ作成
if [[ ! -d "$VOLUMES/$HOST" ]]; then
mkdir "$VOLUMES/$HOST"
fi
# mount
sshfs -p 22 $USER@$HOST:/home/$USER "$VOLUMES/$HOST"
echo "mount $VOLUMES/$HOST"
;;
esac
blog comments powered by Disqus