Home
DIR <- Back ssh magic + your commandline edc (Everyday carry) ================================================= Securely load your custom bash functions automatically on every ssh connect. Most of us know this situation: You connect to a new server and sooner or later miss an alias or shell function that you use on your personal system. In the following i'll explain how you can securely load your list of bash-functions. This example involves three computers: a) your local machine - running ssh-agent - in ~/.ssh/config set: ForwardAgent yes RequestTTY yes RemoteCommand bash --rcfile <(cat .bashrc 2> /dev/null; git archive --remote=ssh://src@kroovy.de:/path/to/repo HEAD toolbox.sh | tar -xO) TEXT raw b) the server you connect to - in /etc/ssh/sshd_config set: AllowAgentForwarding yes c) your git server that allows auth via ssh-key - deposit your local machine's pubkey Authentication -------------- We serve git via SSH. This enables us to have authentication via your SSH-Key. We use the command `git archive` to grab just one file from the repository. Notes: ------ If you want to harden the setup, you can can include a sha256sum check within your local machine's config: RemoteCommand t=$(mktemp); git archive --remote=ssh://src@kroovy.de:/path/to/repo HEAD toolbox.sh | tar -xO | tee $t | sha256sum | awk '{print $1}' | cmp -s <(echo "86dd63a2159898efeddc56e94232291f5412edf0e6e0fb0d862c81f03f5feff5") || exit; bash --rcfile <(cat .bashrc 2> /dev/null; cat $t); rm $t TEXT raw See Evil_Bob's guide: DIR Setup your own git hosting service