Supondo que estou interpretando seu problema corretamente:
- S = servidor por trás do firewall
- C = cliente fora do firewall e não pode acessar o S na porta 22 diretamente.
... mas S pode ssh
para C, você pode ter S configurado uma porta reversa para frente por algo como isto:
server% ssh -fR 8822:localhost:22 client
depois, você pode se conectar do cliente ao servidor conectando-se à porta local no cliente que está encaminhando o tráfego para o servidor.
client% ssh localhost -p 8822