Articles of ssh tunnel

SSH远程访问VPN隧道

我有两台运行CentOS Linux的机器,一台是公开的机器,带有一个真实的IP地址(foo)。 另一个是在一个非常严格的防火墙后面的客户端站点,没有真正的IP地址,也没有可能自动或打开一个端口(酒吧)。 我可以从酒吧ssh到foo,但显然不是相反的。 理想情况下,我希望能够从foo ssh到酒吧,所以我能够发送文件,远程工作等。真的很感激任何帮助或build议如何最好地得到这个工作,已经看到在互联网上的各种教程build议应该可以通过sshbuild立一个VPN连接,但是看起来不太可能。 乔纳

我如何使用nagios监视ssh隧道?

我有一个服务器,用于一堆反向ssh隧道的中间人。 我想在该服务器上使用nagios来监视所有这些ssh隧道已经启动。 基本上我想做的nagios相当于: ssh -p 12344 localhost ssh -p 12415 localhost ssh -p 12544 localhost 我有以下定义: define host{ use generic-host host_name paniqui address localhost _PORT 12345 } define hostgroup { hostgroup_name chits-servers alias CHITS servers members paniqui } define service { hostgroup_name chits-servers service_description SSHTUNNEL check_command check_ssh!-p $_HOSTPORT$ $HOSTADDRESS$ use generic-service notification_interval 0 ; set […]

持久的反向SSH隧道

我们有许多服务器(目前在10年代,很快就是100年代)部署到不同的networking布局不同的机构。 为了确保我们可以随意访问服务器,我们让他们将反向SSH隧道设置回我们在“云端”中的服务器,仅用于此目的。 为了保持连接持续开放,设置它的人使用autossh并且由主pipe监视它。 我们遇到的问题是,周期性(有点频繁)的连接将closures中间使用…,因为你可以主动键入和BAM Connection to localhost closed. 如果有人能帮我理清我需要改变的地方,让连接更加稳定,我将不胜感激。 如果您需要查看其他configuration文件,请询问。 主pipe理员configuration文件如下所示: [unix_http_server] file=/var/run//supervisor.sock chmod=0700 [supervisord] logfile=/var/log/supervisor/supervisord.log pidfile=/var/run/supervisord.pid childlogdir=/var/log/supervisor [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///var/run//supervisor.sock [include] files = /etc/supervisor/conf.d/*.conf 专门用于autossh的主pipeconfiguration文件是: [program:autossh] command=autossh -M29001 -f -N -R 10033:localhost:22 [email protected] user=root autostart=true autorestart=true stopsignal=KILL

如何通过networking堡垒使用端口隧道连接到私有数据库实例?

我有一个networking堡垒,可以在example.compute-1.amazonaws.com和postgres.example.us-east-1.rds.amazonaws.com:5432上公开访问一个私有的postgres数据库实例 我可以ssh进入堡垒使用 $ ssh -i key.pem [email protected] 然后,一旦我在堡垒,我创build一个SSH隧道: $ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 [email protected] 然后,我可以通过使用localhost连接到堡垒的数据库来validation隧道是否工作: $ psql -p 5432 -h localhost -U postgres 但是,我无法远程连接到数据库(不在堡垒中)。 $ psql -p 5432 -h example.compute-1.amazonaws.com -U postgres psql: could not connect to server: Connection refused Is the server running on host "example.compute-1.amazonaws.com" () and accepting TCP/IP connections on port […]

SSH隧道作为代理 – 没有数据返回

我试图build立一个SSH隧道作为一个Web代理,供我在公共场所使用。 我已经有了一个远程服务器可以使用,而且我以前也使用过这个服务器。 但是现在当我尝试它时,我成功地build立了SSH连接,但是webbrowser没有返回我访问的每个页面的数据。 我使用的SSH命令是: ssh -ND 8080 -p 20000 [email protected] 这连接正确。 如果我不包括-N,那么我正确地看到一个远程shell,所以连接成功。 但是,当我设置我的浏览器使用本地代理 – 每个页面不返回HTML数据。 它也不会返回任何错误。 字面上只是一个空白页面。 请注意,如果我断开SSH连接 – 那么浏览器显示代理错误。 所以浏览器肯定是在做代理。 如果我尝试这是铬,然后我得到一个铬错误明确说“没有数据返回”。 如果我在Firefox中尝试这个,那么我只是得到一个空白页面。 请注意,我只是从一个公共场所尝试。 目前我正在度假,并正在使用公寓的无线连接。 所以我想这可能是与他们的设置有关。 但是,鉴于我可以成功地SSH到我的服务器 – 我不知道什么在他们的configuration可以有所作为。 请注意,我也尝试通过代理包括DNS查找。

如果端口转发失败,如何使ssh失败

我有一个bsh脚本运行ssh来创build一个端口转发,使用像这样的命令: ssh -N -i keyfile -L 1000:localhost:22 *remote_ip* 监听端口有时可能很忙,所以这个命令给出了错误: channel_setup_fwd_listener: cannot listen to port: 1000 Could not request local forwarding. 但是,ssh连接保持不变,而ssh命令将被阻止。 当发生这种情况时,如何让ssh实际上失败,所以我的脚本可以处理它? 不幸的是,我还需要在Solaris(Intel)上支持这一点,并且那里的ssh命令不支持ExitOnForwardFailure选项 – 在这种情况下的任何想法?

webdav有多安全? smb隧道ssh(与腻子)更好的解决scheme?

webdav有多安全? smb隧道ssh(与腻子)更好的解决scheme? 你喜欢哪个?

如何在Linux中连接多个SSH隧道

我有以下情况: A —– | —— B —– | ——工作 工作可以通过SSH连接到B,而A可以通过SSH连接到B,但除此之外,一切都是防火墙。 我想要做的是实际上创build一个工作和A之间的SSH隧道,使我可以从VNC工作。 从工作中我创build了一个远程SSH隧道: ssh -R 5900:localhost:5900 B 这意味着我可以从B的VNC工作。 但是我需要做些什么来扩展到A.我试图创build一个从A到B的本地SSH隧道,如下所示: ssh -L 5901:localhost:5900 B 但它给, bind: Cannot assign requested address ,因为已经分配5900。 有没有人有任何想法如何做到这一点?

可靠的反向SSH隧道

我使用autossh来使用私钥打开反向SSH隧道。 隧道用户的shell是rssh并validation为工作。 我遇到的问题是这样的,无论ClientAliveInterval( 15 )和ClientAliveCountMax( 3 )( sshd默认值),在客户端隧道打开: exec autossh -N \ -o "ServerAliveInterval 60" \ -o "ServerAliveCountMax 3" \ -o "StrictHostKeyChecking no" \ -R ${tunnel_port}:localhost:22 \ -i ./tunnel \ -v \ [email protected] ${tunnel_port}来自一个小的curl调用,它在隧道主机上寻找一个空闲的端口,端口不会改变(它是根据请求框的mac地址来分配的) 问题是,当TERM进入隧道客户端时,端口在主机上保持占用,并且sshd进程继续运行: 我也无法通过隧道login到机器上: ubuntu@ip-10-252-138-233:~$ ssh -p 39777 pi@localhost ssh: connect to host localhost port 39777: Connection refused 我想知道我能做些什么来使隧道更可靠,以确保何时哪一端完全死亡,拆除,不能进入“破碎”状态。 如果我是通过端口80或类似的隧道,我可以写一个check脚本(这个守护进程os启动runit )来检查一些HTML页面是端对端通过他的隧道可用,但是当它通过SSH,作为一个反向隧道,我不知道客户如何知道隧道是否真的在运行而不是运行?

如何通过SSH隧道将隔离的节点连接到公共节点

我不知道如何把它放在文字,所以创build了一个插图来显示我的设置是什么样子。 数据库服务器和Web服务器在一个VLAN中,Web服务器有一个公共IP,但数据库服务器没有。 通常DB只能与Web服务器通信。 例外是,它也应该能够与主服务器交谈,但它应该远程无法访问。 我想这可以设置为DB >> Web >>主服务器,但我在初学者水平与SSHconfiguration,所以不能做任何我自己的。 数据库到主要连接应该是永久的双向,只需要通过端口80。 DB和Web服务器是CentOS 7.2,主服务器是Debian 8 这实际上是可能的,如果是这样,怎么样? 很感谢任何forms的帮助。 谢谢。