gpt4 book ai didi

emacs - 使用 Emacs 和 Tramp 通过网关到达远程主机

转载 作者:行者123 更新时间:2023-12-02 04:08:50 32 4
gpt4 key购买 nike

我正在尝试在 Emacs 中编辑远程文件,但无法从 the documentation 获取和 previous SO questions去做我想做的事。

我正在从多个位置远程工作,并且我想在服务器 Foo 上编辑文件。服务器 Foo 不能直接从 Internet 访问,但服务器 Bar 可以,并且 Foo 接受来自 Bar 的连接。我可以指望到达 Bar,Bar 可以指望到达 Foo。

Tramp 文档告诉我,我需要添加到 Tramp 的代理列表来执行此操作,并且它应该如下所示:

(add-to-list 'tramp-default-proxies-alist
("foo_host" "seanm" "/ssh:seanm@bar_host"))

但是,当我尝试这样做时,它不起作用,并且我收到了难以理解的错误消息。
  • 我怎样才能明确地提到 Foo?没有 DNS 服务器知道如何从其主机名中找到 Foo,而 Foo 的 IP 地址在 10.0.0.0/8 私有(private)空间中。我不想通过该 IP 地址引用 Foo,因为这可能会与我可能访问的其他 10.0.0.0/8 网络中的主机发生冲突。作为一个组合,我将 Foo 添加到 Bar 的/etc/hosts 文件中,但这似乎不起作用。有更好的解决方案吗?
  • 我需要遵守哪些报价规则?我看到的示例同时使用“双引号”和“单引号”,后者显然需要双反斜杠转义。我不明白那里发生了什么 - 似乎有多层解析,这个字符串将被推过。
  • 在尝试对此进行更改时,我收到的错误消息相当于“您不能在该场景中使用该远程访问方法”。如何设置第二个代理方法,让我执行相当于 C-x C-f /su::/path/to/file 的操作?

  • 与之前的多跳语法相比,这一切似乎都非常痛苦。

    后来:我能够正确地进行多层转义,以便 emacs 正确地“听到”主机的名称。但是,我无法让任何跳跃超过一秒才能正常工作,这是功能上的一个非常令人失望的失误。

    最佳答案

    正确的答案是使用 Host、HostAlias 和 ProxyCommand 指令修改我的 SSH 配置。

    关于emacs - 使用 Emacs 和 Tramp 通过网关到达远程主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6258267/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com