ssh (5) sshfsによるOneDrive同期ファイルの間接参照構成¶
ネットワーク構成¶
制約¶
固定PC:社内ネットワークに常時接続、SSH接続が可能、SMB共有は申請必要、OneDriveの同期は可能.
携帯PC:ファイル保存不可.OneDriveの同期不可.
よって、携帯PCからOneDriveをシームレスに見るために以下の構成とした.
構築したネットワーク¶
固定PCでOneDriveを同期 ( /mnt/d/OneDrive/OneDrive - XXX/Desk が共有対象 ).
携帯PCのWSL2から sshfs によってマウント.
マウントポイントをクイックアクセスによりアクセス.
接続の自動化に .bat を作成.起動のショートカットを配置.
.batはパスワード入力不可.鍵管理に keychain を使用.
最初は、keychainへの登録が必要(WSL2を起動する).
スクリプト¶
automount__sshfs.sh¶
#!/bin/zsh
USER="user"
IP="192.168.1.101"
MOUNTPOINT="$HOME/mnt/oneDrive"
REMOTEPATH="/mnt/d/OneDrive/OneDrive - XXX"
LOG="$HOME/mnt/sshfs_command/sshfs_debug.log"
OPTIONS=allow-other,umask=000,idmap=user,ServerAliveInterval=15,ServerAliveCountMax=3
# -- keychain -- #
eval $(keychain --quiet --agents ssh id_ed25519)
source $HOME/.keychain/$HOST-sh
echo "SSH agent socket: $SSH_AUTH_SOCK" >> $LOG
ssh-add -l >> $LOG 2>&1
# -- sshfs -- #
if ! mount | grep -q "$MOUNTPOINT"; then
nohup sshfs $USER@$IP:"$REMOTEPATH" "$MOUNTPOINT" -o $OPTIONS >> $LOG 2>&1 &
fi
# -- open -- #
/usr/local/bin/wslstart $MOUNTPOINT
call__automount.bat¶
@echo off
wsl -d Ubuntu-24.04 -- /home/user/mnt/sshfs_command/automount__sshfs.sh
注意点¶
パスワードが.batだと通らない.keychain構成が必須.
nohup &が重要.じゃないと、コンソール終了ですぐにsshfsは終了する.
WEB側に反映されるまでに、若干のラグがあるかも.使用は注意.