当前位置:  开发笔记 > 运维 > 正文

如何使用Emacs Tramp双跳ssh?

如何解决《如何使用EmacsTramp双跳ssh?》经验,为你挑选了3个好方法。

我的校园只允许通过网关服务器进行ssh访问.因此,为了访问我正在编码的集群,我必须ssh到网关,然后ssh到我正在处理的机器上.这种联系有时非常缓慢,令人沮丧.

我很乐意使用像tramp这样的东西,我知道它会在我的本地机器上打开缓冲区,并且当我保存到磁盘时只能通过网络进行通信.我对tramp并不是很熟悉,并且努力让它工作,特别是通过双跳.文档说这是通过在tramp中定义代理来完成的,但我无法理解语法.

有没有人知道如何使用emacs通过双跃点进行编码或有一个替代的解决方法来通过两个ssh跳来编辑代码?



1> Joseph Lisee..:

至少从Emacs 24开始他们有一个新版本的multi你可以打开这样的路径:

   /ssh:bird@bastion|ssh:you@remotehost:/path

我可以确认这适用于我的Emacs 24.3.1版本.文档在这里描述它.



2> Tom..:

如果您使用的是Emacs 24.3或更高版本,请参阅Joe的答案,以获取下述配置的替代方法.如果你不止一次使用这个双跳,可能值得修改tramp-default-proxies-alist如下所述,或设置tramp-save-ad-hoc-proxiest.


如果您使用Emacs 23.1或更高版本,则multi不再支持该方法.您可以通过配置"代理"来实现相同的结果.

.emacs配置文件中添加以下内容:

(add-to-list 'tramp-default-proxies-alist
                 '("HOSTB" nil "/ssh:USERA@HOSTA:"))

HOSTB是HOSTA背后的目的地主机.

然后键入/ssh:USERB@HOSTB:,emacs将提示输入HOSTA密码,然后输入HOSTB密码.


在emacs 24中你可以使用管道,例如:/ ssh:bird @ bastion | ssh:你@ remotehost:/ path(参见docs:http://www.gnu.org/software/tramp/#Ad_002dhoc-multi_002dhops)
知道为什么要删除多个?太棒了 :(

3> fuzzy-waffle..:

你应该使用ssh来做双跳.在你的.ssh/config中:

Host 
ProxyCommand ssh -qxT  nc %h %p

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有