sudo ssh -N -L 0.0.0.0:443:ipinfo.io:443 my-username@xx.xx.xx.xx
127.0.0.1 ipinfo.io
FROM alpine
RUN apk add curl
RUN curl https://ipinfo.io/ip
因此,ipinfo.io
发生的事情可以在环回中解决,但不会通过ssh隧道。如何从docker调用ipinfo.io
,使其通过ssh隧道?
附:我用的是macOS High Sierra
以下是我为让它工作所做的事情:
ipinfo.io
的IP地址,而不是使用ssh
命令中的主机名sudo ssh -g -N -L 0.0.0.0:443:216.239.38.21:443 my-username@xx.xx.xx.xx
FROM alpine
RUN apk add curl
RUN cat /etc/hosts
RUN curl -v https://ipinfo.io/ip
docker build --add-host ipinfo.io:172.17.0.1 -t test:0.0.1 .
Step 3/4 : RUN cat /etc/hosts
---> Running in b7384b27c1a5
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.1 ipinfo.io
172.17.0.2 b7384b27c1a5
Removing intermediate container b7384b27c1a5
---> 2a8b062984b8
Step 4/4 : RUN curl -v https://ipinfo.io/ip
---> Running in 0fa2c413ab2c
Trying 172.17.0.1:443...
* TCP_NODELAY set
* Connected to ipinfo.io (172.17.0.1) port 443 (#0)
...
> GET /ip HTTP/2
> Host: ipinfo.io
> User-Agent: curl/7.66.0
> Accept: */*
>
...
< HTTP/2 200
< date: Fri, 20 Mar 2020 15:27:12 GMT
< content-type: text/html; charset=utf-8
< content-length: 14
< access-control-allow-origin: *
< x-frame-options: DENY
< x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
< referrer-policy: strict-origin-when-cross-origin
< via: 1.1 google
<
37.42.143.111
...
我认为可能需要在sshd_config
中启用gatewayports
,并重新启动sshd
,这样才能工作。
我希望能够远程连接到公开了JMX的Java服务,但它被防火墙阻止了。我尝试使用ssh本地端口转发,但是连接失败了。查看wireshark,当您试图与jconsole连接时,它似乎希望在连接到端口9999后通过一些短暂的端口进行连接,这些端口被防火墙阻止。 有没有什么方法可以让jconsole只通过9999连接或者使用代理?这篇文章还是最好的解决方案吗?或者,我是不是漏掉了什么?
问题内容: 我有这两个容器,例如(CentOs)和。我想拥有的是,可以从容器中连接到mongo数据库,就像它在本地运行一样, 无论如何,据我所知,您可以像这样将端口localhost:27017映射到mongo:27017 但是,如果执行此操作,则必须提供root密码,然后它会将我登录到容器中,并且不会发生端口转发 背景:我想这样做是因为我正在运行一个Java程序,该程序连接到localhost上
问题内容: 我希望能够远程连接到公开了JMX的Java服务,但是该服务已被防火墙阻止。我尝试使用ssh本地端口转发,但是连接失败。看一下wireshark,看来当您尝试与jconsole连接时,它想在连接到受防火墙阻止的端口9999后通过一些临时端口进行连接。 有什么方法可以使jconsole仅通过9999连接或使用代理?是这篇文章仍然是最好的解决办法?还是我错过了什么? 问题答案: 有什么方法可
我遇到的问题是,我无法在我希望看到的端口上看到应用程序。我正在公开端口8080并在8080上运行uwsgi进程,但在浏览器中找不到ip地址的应用程序。我只是得到谷歌Chrome的‘此网页不可用’。(我使用的是Mac,所以我需要获得boot2docker的ip地址)。容器显然正在运行,并报告我的uwsgi和celery进程也都成功运行。 运行时,得到的响应如下 ...因此容器似乎正在接受端口8080
问题内容: 我正在尝试利用Vagrant 1.6的Docker提供程序,但似乎遇到了麻烦。我可以成功启动Docker容器和来宾操作系统,但随后无法从主机OS访问容器中已启动的服务。这是我的Vagrantfile: 我的理解是,在OS X上运行将启动运行boot2docker的VM,然后再运行我的容器。运行似乎可以确认我的容器已创建并且服务已启动,但是现在我一生无法弄清楚如何从OS X主机访问该服务
我需要连接到MongoDB通过SSH隧道和JSch端口转发抛出一个错误: 无法绑定本地端口127.0.0.1:27017 我必须通过SSH隧道连接到MongoDB。我在stackoverflow上找到了代码,它解决了我的问题。但几周后,同样的代码停止了工作。我无法确定原因。此外,使用我在Java代码中使用的相同凭据,我还尝试使用SSH-L命令通过CMD连接到相同的凭据,并且工作正常。我还可以使用N