diff options
author | Karel Kočí <cynerd@email.cz> | 2022-04-04 15:54:26 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2022-04-04 17:54:18 +0200 |
commit | 7e8cc7201949ad75daca5520c57479229711ed31 (patch) | |
tree | 544b15a25f53ba4923eff7e813732ab8ba81a996 /shellrc-desktop.d/ssh | |
parent | 0cf542815d11b09e411a00267c89180e28623991 (diff) | |
download | shellrc-7e8cc7201949ad75daca5520c57479229711ed31.tar.gz shellrc-7e8cc7201949ad75daca5520c57479229711ed31.tar.bz2 shellrc-7e8cc7201949ad75daca5520c57479229711ed31.zip |
Add flake.nix
Diffstat (limited to 'shellrc-desktop.d/ssh')
-rw-r--r-- | shellrc-desktop.d/ssh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/shellrc-desktop.d/ssh b/shellrc-desktop.d/ssh new file mode 100644 index 0000000..7a1b71f --- /dev/null +++ b/shellrc-desktop.d/ssh @@ -0,0 +1,19 @@ +# vim: ft=sh: +# These are general ssh helpers that are most likely not usable on server side +# anyway thus they are deployed on desktop only. + +# SSHFS in client mode. In other words it is reverse sshfs mount. +sshcfs() { + local target="$1" + local local_dir="$2" + local remote_dir="$3" + shift 3 + [[ "$local_dir" = /* ]] || local_dir="$PWD/$local_dir" + + ssh "$@" "$target" mkdir -p "$remote_dir" + dpipe \ + /usr/lib64/misc/sftp-server \ + = \ + ssh "$@" "$target" sshfs -o idmap=user -o passive -o allow_other \ + ":$local_dir" "$remote_dir" +} |