有人可以帮我设置Emacs Tramp进行双跳吗?
我想在只能通过machine1.abc.def.edu连接到的machine2.abc.def.edu上工作。我的用户名是myname,在两台计算机上都是相同的。

我试图添加.emacs:

(add-to-list 'tramp-default-proxies-alist
          '("\\`machine2\\.abc\\.def\\.edu\\'"
            "\\`myname\\'"
            "/ssh:machine1\\.abc\\.def\\.edu:"))

这是我对手册内容的最佳猜测。然后我做:
C-x C-f/ssh:machine2.abc.def.edu
或者:
C-x C-f/ssh:[email protected]

但两者都给:
ssh: Could not resolve hostname ssh: nodename nor servname provided, or not known
Process *tramp/scpc ssh* exited abnormally with code 255

而且我的Aquamacs不能退出,而必须从 shell 中杀死。。。这里有一个2年的线程,有同样的问题。我从那里尝试了答案:
(add-to-list 'tramp-default-proxies-alist
          '("machine2.abc.def.edu"
            nil
            "/ssh:[email protected]:"))

具有相同的结果...对于所有组合我都可以想出...在machine1.abc.def.edu上进行远程编辑效果很好。

最佳答案

好吧,让我们尝试一些不同的事情,而无需打开隧道。 .emacs文件中的以下内容如何:

(add-to-list 'tramp-default-proxies-alist
             '("\\`machine2\\'"
               nil
               "/ssh:%[email protected]:"))

这与您在论坛帖子中找到的代码有两点不同:
  • 它在目标主机周围添加刻度线
    名称(避免使用Emacs regexp语法
    匹配部分名称)
  • 它仅使用
    目标中的子域名
    主持人(您在评论中进行了举报
    下面,你不能SSH
    使用完整版时的machine2
    域名)

  • 当您尝试访问machine2上的文件时,这有帮助吗?

    10-04 14:54