ssh + http 代理(螺旋形)不工作

ssh + http 代理(螺旋形)不工作

我正在尝试通过 corkscrew 让 ssh 使用 http 代理。

这是错误:

[echox@archbox:~] % ssh somehost.tld
zsh: No such file or directory
ssh_exchange_identification: Connection closed by remote host

这是~/.ssh/config的内容

Host *
ProxyCommand /usr/bin/corkscrew http-proxy.some.proxy.tld 8080 %h %p

我敢打赌 ProxyCommand 没有找到,但/usr/bin/corkscrew正在工作,它也在我的路径中。corkscrew没有路径也不起作用。

[echox@archbox:~] % corkscrew http-proxy.some.proxy.tld 8080 some.ssh.host.tld 22直接调用效果很好。

任何想法?

答案1

好吧,我完全忘记了-vvv:-) 这是输出:

OpenSSH_5.6p1, OpenSSL 1.0.0a 1 Jun 2010
debug1: Reading configuration data /home/echox/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec /usr/bin/corkscrew http-proxy.proxy.tld 8080 somehost.tld 22
debug1: permanently_drop_suid: 1000
zsh: No such file or directory
[..]
ssh_exchange_identification: Connection closed by remote host

关键是与 的行ssh_connect: needpriv 0。我忘记将我的用户添加到 /etc/group 中的网络组。该连接适用于 root,并且在将用户添加到网络后,它现在也适用于他。

以前没有开瓶器的连接也可以工作。有人知道这个“安全”设置存储在哪里吗?我在 arch linux wiki、/etc/man ssh以及检查网络组的 corkscrew 源 / corkscrew 文档中找不到任何内容。

答案2

有同样的问题(“/ bin / bash:/ home / thor / bin / connect -4 -S localhost:9050 void 22:没有这样的文件或目录”)

通过更改 ~/.ssh/config 来修复

ProxyCommand "~/bin/connect -4 -S localhost:9050 %h %p"

ProxyCommand ~/bin/connect -4 -S localhost:9050 %h %p

(删除“”)

至于为什么会解决这个问题...我不知道。

哎呀,刚刚注意到OP在配置文件中甚至没有引号...因为这仍然相关,我将在这里留下答案供你们投票/反对。

答案3

我对开瓶器一无所知,但我通过使用 putty 的 http 代理成功使用了 ssh。

也许它可以代替这项工作?


编辑 putty 是一个基于 X 的程序,因此它无法在所有情况下提供帮助。

但是如果你想在 ubuntu 之类的东西上安装 putty,你可以直接 apt 它。

sudo aptitude install putty

答案4

检查可能是一件愚蠢的事情,但开瓶器取决于您路径中的“netcat”。当然,大多数系统默认安装了 netcat,但其中一些系统也没有链接到“netcat”的主二进制文件“nc”。 Corkscrew 依赖于能够调用“netcat”,而不是“nc”。至少我有与您描述的相同的症状,并且只需将 nc 符号链接到 netcat 即可修复它。

相关内容