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

How to use tramp with corkscrew to access remote clusters?

我的计算机网络已关闭,无法通过端口 22 通过 ssh 连接到外部机器(网络外部)。我通过使用螺旋钻通过 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: Opening connection for tunnel using scp... Tramp: Sending command 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: Waiting for prompts from remote shell...failed Tramp: Opening connection for tunnel using scp...failed Use M-x make-directory RET RET to create the directory and its parents

Tramp: Checking `vc-registered' for /tunnel:PROXY-HOSTNAME PROXY-PORT-NO | ssh:USERNAME@EXTERNAL-HOSTNAME:~/...failed Use M-x make-directory RET RET to create the directory and its parents Mark set

更新 2:

成功了。唯一的问题是我没有正确输入端口。现在我只用了

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

它奏效了。

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