关于远程文件编辑的方式选择

看了楼上这些说法,我怎么还是一头雾水,

直接 tramp, 穿透回来

以前都没有直接编辑远程文件的经验, 这些词让我不明觉厉. 可不可说说下面这个具体的例子,让我开开窍:

我的资源:

  1. 一台远程服务器. 公网IP是 47.47.47.47, 用户名root
  2. 本地电脑装好了Emacs (我用的spacemacs, 默认已经有 tramp了,但我从来没有配置过它).

现在我想通过本地电脑的 spacemacs 打开远程服务器上的 /root/flask_py3/app.py 文件. 我用(参考链接)
C-x C-f /ssh:[email protected]:/root/flask_py3/app.py RET
并没有成功!
Message Buffer 中可以看到错误信息:

Error running timer: (error “In ‘Find Files’ source: ‘helm-find-files-get-candidates’ (wrong-type-argument arrayp (tramp-file-name "ssh" "root" nil "47.47.47.47" nil "" nil))”)

难道我需要怎么配置一下吗? 但是我看 Tramp User Manual 似乎除了Selecting a default method,没有什么要配的呀! 而这句命令 /ssh:[email protected] method, user 都已经指明了,所以就不用配置什么了吧?

另外, 好几处都说到了ssh回本地,

这些都是说的一个意思吗? 我不太理解, 我登录远程时是用:

ssh 用户名@公网IP ssh端口

但是我本地电脑并没有公网IP,ssh怎么能回来呢?