Suas regras de firewall parecem ótimas para a parte do servidor. Se o problema é que, a partir da máquina do servidor (que você estaria usando como um cliente para essa finalidade), você está tentando se conectar a um servidor SFTP (SSH) remoto, as regras de firewall estão erradas.
Fazer uma conexão SFTP de saída não significa que a porta de origem será 22 (na verdade, é muito improvável, mais ainda se já houver um servidor em execução nessa porta). A porta de destino também será 22, mas a porta de origem será algo geralmente aleatório (ou não muito aleatório, mas dentro de um intervalo diferente, não utilizado pelas portas do servidor em geral, digamos > 10000). Para conexões de saída, sua primeira regra ainda se aplica, mas seria necessário uma máscara de destino diferente.
O problema é que, se você permitir algo assim:
Protocol: TCP
Source Port: Any
Destination Port: 22
Source IP Add: Any
Ip Address Source Mask: 0.0.0.0
Desination IP Address: My IP Address
Destination Mask: 0.0.0.0
Você está abrindo todas as suas portas para qualquer um que possa ajustar seu cliente para vir de uma porta 22, o que não é bom. O que você deseja é permitir apenas conexões de entrada novas e estabelecidas para a porta 22.
Para ser honesto, não sei como isso funciona no Windows, mas é para isso que NEW
, ESTABLISHED
e RELATED
estão em iptables
no Linux.