Tramp é definitivamente a resposta certa. Se você tiver um problema com o Tramp, conserte-o. A maneira mais simples de fazer o Tramp entrar no Windows é com o plink , o tunelamento e script ssh do PuTTY componente. O ssh do Cygwin é outra possibilidade.
Um problema que corri contra é que plink força a variável de ambiente TERM a xterm . Isso pode fazer com que seu .profile ou outro script de login emita dados, pensando que está falando com um terminal, mas esses dados confundirão seus scripts. Normalmente, você chamaria plink com a opção -T para informar que não emula um terminal. No Emacs, use o método plinkx Tramp, que força TERM a dumb no lado remoto:
(if (eq system-type 'windows-nt)
(setq tramp-default-method "plinkx"))
No lado remoto, verifique se os arquivos de login não emitem nenhuma saída, como um prompt quando $TERM é dumb .