我正在尝试通过开瓶器使 ssh 与 http 代理一起工作。
这是错误:
[echox@archbox:~] % ssh somehost.tld
zsh: No such file or directory
ssh_exchange_identification: Connection closed by remote host
Run Code Online (Sandbox Code Playgroud)
这是 ~/.ssh/config 的内容
Host *
ProxyCommand /usr/bin/corkscrew http-proxy.some.proxy.tld 8080 %h %p
Run Code Online (Sandbox Code Playgroud)
我敢打赌 ProxyCommand 没有找到,但/usr/bin/corkscrew
正在工作,它也在我的 PATH 中。corkscrew
没有路径也不起作用。
[echox@archbox:~] % corkscrew http-proxy.some.proxy.tld 8080 some.ssh.host.tld 22
直接调用工作正常。
任何的想法?
好吧,我完全忘记了-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
Run Code Online (Sandbox Code Playgroud)
关键是与 的行ssh_connect: needpriv 0
。我忘记将我的用户添加到 /etc/group 中的网络组。该连接适用于 root,并且将用户添加到网络后,现在也适用于他。
以前没有开瓶器的连接也可以工作。有人知道这个“安全”设置存储在哪里吗?man ssh
我在 arch linux wiki、/etc/以及检查网络组的 corkscrew 源 / corkscrew 文档中找不到任何内容。