SSH-Infrastructure / tools / deploy-local.sh
Newer Older
23 lines | 0.955kb
Bogdan Timofte authored 2 weeks ago
1
#!/usr/bin/env bash
2
set -euo pipefail
3

            
4
project_root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
5
ssh_root=${SSH_ROOT:-"$HOME/.ssh"}
6
local_bin_root=${LOCAL_BIN_ROOT:-"$HOME/.local/bin"}
7

            
8
install -d -m 700 "$ssh_root"
9
install -d -m 700 "$local_bin_root"
10

            
11
"$project_root/tools/generate-configs.py"
12

            
13
install -m 600 "$project_root/generated/client.conf" "$ssh_root/config"
14

            
15
rm -f "$local_bin_root/ssh" "$local_bin_root/scp" "$local_bin_root/sftp"
16
install -m 700 "$project_root/scripts/ssh-wrapper.sh" "$local_bin_root/ssh"
17
install -m 755 "$project_root/scripts/scp-wrapper.sh" "$local_bin_root/scp"
18
install -m 755 "$project_root/scripts/sftp-wrapper.sh" "$local_bin_root/sftp"
19

            
20
rm -f "$ssh_root/scripts/ssh-wrapper.sh" "$ssh_root/scripts/scp-wrapper.sh" "$ssh_root/scripts/sftp-wrapper.sh"
21
rmdir --ignore-fail-on-non-empty "$ssh_root/scripts" 2>/dev/null || true
22

            
23
printf 'deployed SSH config to %s and wrappers to %s\n' "$ssh_root" "$local_bin_root"