Em sua máquina local (fora de sua rede) você deve executar o cliente ssh com os seguintes parâmetros:
ssh -L 5999:imac_host:5900 pi_host
Eu escolhi 5999 para a porta local, mas poderia ser qualquer porta. Você só precisa se certificar de que não é usado por nenhum serviço local. Substitua imac_host e pi_host por endereços IP.
Quando você se conectar com um determinado comando, vnc port 5900 de imac_host será encaminhado para a porta 5999 da sua máquina local.
Em seguida, você precisa configurar seu cliente vnc em sua máquina local para se conectar a localhost na porta 5999 (conecte a si mesmo na porta especificada).
Como funciona
VNC server no seu iMac está escutando na porta 5900 para conexões de entrada. Clientes VNC podem se conectar a essa porta de outras máquinas em sua rede local. Como você não tem acesso direto à porta 5900 no seu iMac, está usando ssh para tunelar a conexão do seu computador pela Internet através do roteador para o iMac em sua rede local.
ssh abre a porta 5999 (poderia ser qualquer outra porta) em sua máquina atual e escuta nesta porta por conexões. Quando você se conecta a esta porta ssh encapsula a conexão (através da porta ssh 22 ) para o seu roteador e do roteador estabelece conexão ao iMac na porta 5900 . É chamado de encaminhamento de porta.
O seu iMac também tem o ssh ativado. Se você não precisa de vnc, mas apenas deseja copiar um arquivo, deve ser possível usar o scp. Para simplificar, você poderia tentar sem qualquer encaminhamento de porta. Apenas copie o arquivo de imac_host para pi_host . A partir da execução do console do Pi:
scp username@imac_host:path_to_file destination_file'
Isso irá copiar o arquivo path_to_file para destination_file em sua pasta atual no Pi. Então você pode repetir este passo e copiar o arquivo do Pi para a sua máquina local.