Here is my version of the ssh config file. Its advisable to save it in ~/work/.ssh/config rather than ~/.ssh/config since ~/work is persistent upon re-creation of the jupyterhub instance
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
ServerAliveInterval 120Host bastion-?.fabric-testbed.net
User <your bastion host username>
ForwardAgent yes
Hostname %h
IdentityFile <path to your bastion host private key>
IdentitiesOnly yesHost * !bastion-?.fabric-testbed.net
ProxyJump <your bastion host username>@bastion-1.fabric-testbed.net:22
##ProxyJump <your bastion host username>@bastion-2.fabric-testbed.net:22
Once this file is saved, you no longer need the -J param as long as this file is included in your ssh command .
For example.
ssh -F ~/work/.ssh/config centos@63.239.135.94 should work