如何使用tramp with corkscrew访问远程集群?

时间:2015-01-22 18:24:00

标签: emacs ssh http-proxy tunneling

我的计算机网络已关闭以通过端口22 ssh到外部计算机(网络外部)。我通过使用cockscrew通过http隧道传输ssh。我以下列方式修改了我的配置文件

Host EXTERNAL-HOSTNAME
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
ServerAliveCountMax=30
ServerAliveInterval=5
ProxyCommand corkscrew LOCAL-PROXYNAME PROXY-PORT-NO %h %p

我现在如何使用tramp访问远程群集中的文件?常规命令/ssh:username@EXTERNAL-HOSTNAME无法打开文件。

更新1:

我的代理不使用默认的8080端口,而是使用不同的端口号。所以使用

/tunnel:PROXY-HOSTNAME PROXY-PORT-NO | ssh:USERNAME@EXTERNAL-HOSTNAME:~/

给了我以下错误

  

Tramp:使用scp打开隧道连接... Tramp:正在发送   命令exec ssh -o ControlPath=/var/folders/k5/r4f1q8j90y345rsz_9skc7y48q0jr6/T/tramp.15685eSq.%r@%h:%p -o ControlMaster=auto -o ControlPersist=no -e none tunnel' Tramp: Waiting for prompts from remote shell... Tramp failed to connect. If this happens repeatedly, try M-x tramp-cleanup-this-connection'Tramp:等待来自远程shell的提示...失败Tramp:打开隧道连接使用   scp ... failed使用M-x make-directory RET RET创建目录   和它的父母

     

Tramp:检查`vc-registered'是否为/ tunnel:PROXY-HOSTNAME   PROXY-PORT-NO | ssh:USERNAME @ EXTERNAL-HOSTNAME:〜/ ...失败使用M-x   make-directory RET RET创建目录及其父目录Mark   设置

更新2:

有效。唯一的问题是我没有进入端口 - 没有正确。现在我刚用

/tunnel:PROXY-HOSTNAME#PROXY-PORT-NO|ssh:USERNAME@EXTERNAL-HOSTNAME:~/

并且有效。

1 个答案:

答案 0 :(得分:3)

我不知道开瓶器所以我无法回答这个问题。但是,Tramp能够通过它自己的隧道来隧道。尝试打开/tunnel:LOCAL-PROXYNAME|ssh:username@EXTERNAL-HOSTNAME。当然,代理命令应该从你的ssh配置中删除。