refactored custom ssh key support moving key setup into its own middlware and using the ssh_private_key_path config instead