aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/scripts/sshfs-mount
blob: 0e2352ce7b0084377e88920b87b4601b96db83d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh -eu

input="$1"
server="${input#*@}"
folder="${input%@*}"
mount_path="$HOME/Shares/SSHFS/$folder"

[ "${2:-}" = 'stop' ] && { fusermount -u "$mount_path" || true; };
[ "${2:-}" = 'stop' ] && exit;

# evaulate the keychain
pidof ssh-agent || { printf "No ssh-agent available.\n"; exit 1; };
eval "$(keychain --dir "$HOME"/.cache/keychain --eval --agents ssh -Q --quiet "$HOME"/.ssh/mobile)";

# mount the directory
mkdir -p "$mount_path";
fusermount -u "$mount_path" || true;
# TODO: Add setting remote server path with argument
sshfs -f -o follow_symlinks,idmap=user,identityfile="$HOME"/.ssh/mobile,identityfile="$HOME"/.ssh/ansible root@"$server":/ "$mount_path";