Articles of ssh tunnel

从PC1创build隧道到PC2,允许PC2通过SSH连接回PC1,无需端口转发

我正在寻找提供Linux远程支持服务,PC主要是家庭NAT路由器没有任何端口转发。 我希望能够根据要求通过SSH连接到这些PC。 我也想尽可能简单地给那些不知道如何在路由器上转发端口的用户。 我希望有一个命令,我可以给他们,他们可以粘贴到一个terminal,将直接连接到我的机器,build立一个反向通道,然后我可以连接回他们的机器通过SSHlogin命令。 我期望实现一个命令行会话,但是如果我也可以select创build一个远程桌面会话,那么在诊断GUI问题的时候这将是一个奖金。 我过去曾经用一台已经在路由器后面的中间机器来实现这个function,并且预先准备了一个反向通道,这对于维护一个装满机器的站点来说是非常理想的,但是在这种情况下,没有中间机器或者预先准备能得到的。 这是可能的,还是失败的原因? 我注意到,在避免端口转发方面,TeamViewer能够完成我想要的任务,但它只给了我一个GUI,最重要的是terminal提示符。 当然,如果这对于一个GUI来说是可能的,那么这只能是一个简单的命令提示吗?

通过SSH隧道Windows VPN

好的,这是我的问题… 我想通过Windows XP上的pptp连接到一个VPN,但它是在我无法控制的防火墙后面。 我能够build立SSH连接。 我希望VPN到我无法控制的服务器,但允许VPN访问。 假设它有一个193.60.20.50的IP为参数。 我有一个运行Debian Wheezy的中间服务器,我可以完全控制它,并且可以从Windows计算机进行SSH连接。 假设它有一个IP为212.74.214.28的参数。 如何通过我的中间服务器将VPN连接从Windows机器连接到最终服务器? 我猜测这可能是在PuTTY中使用SSH隧道。 不过,我不知道我需要在中间服务器上允许stream量通过的iptables规则。 到目前为止,我已经设置PuTTY将端口1723转发到193.60.20.50:1723这似乎正在工作,因为VPN连接立即返回一个错误,而不是隧道closures时它会尝试连接一段较长的时间抛出一个错误。 但是我相信我的iptables规则拒绝连接。 我的iptables规则目前(我已经强调了我已经添加了试图解决这个问题的具体规则): 连锁input(政策接受) 目标人select源目的地 fail2ban-ssh-ddos tcp – 任何地方多端口dport ssh fail2ban-ssh tcp – 任何地方多端口dport ssh 随时随地接受 拒绝所有 – 任何地方回环/ 8拒绝 – 与icmp-port-unreachable 接受所有 – 任何地方的任何地方状态RELATED,ESTABLISHED 接受tcp – 任何地方tcp dpt:http 接受tcp – 任何地方任何地方tcp dpt:https 接受tcp – 任何地方tcp dpt:1723 接受gre – 在任何地方 接受tcp – 任何地方tcp […]

反向SSH隧道失败 – 寻找debuggingbuild议

我有一台Mac OS X服务器(称为防火墙后面的内部服务器 ,通过ssh -gnN -R *:remoteport:localhost:localport [email protected]进行反向端口转发,其中remote.server是域名/ IP一个公共服务器,我将其称为远程服务器 ,然后通过连接到remote.server:remoteport来连接到内部服务器。 定期地,隧道将失败,为此,我有一个内部服务器上的脚本,试图重新连接到远程服务器,直到成功。 这已经有好几次了。 但是最近,我遇到了一个内部服务器失去与远程服务器的连接的错误,而我在内部服务器上没有任何事情可以恢复连接。 必须重新启动远程服务器,然后通过脚本立即重新build立隧道。 远程服务器是运行CentOS 6基本安装的VPS。在过去的几个月里,没有任何configuration发生变化。 远程服务器在超过4个月的时间内无误地运行了隧道,然后在过去的12个小时内以这种方式失败了两次,需要两个小时才能重新启动。 什么样的事情会导致这种行为,我应该从哪里开始寻找问题?

使用反向隧道访问提供HTTPS的防火墙Web服务器

我在我的networking上有一个设备(“A”),它只通过HTTPS提供内容,不能在我的路由器/防火墙后访问。 我有另一台机器(“B”),在互联网上的其他地方(假IP 44.44.44.44) 我想要访问由B从A提供的内容。我在B上为B设置了accepted_keys。 – 我对SSL / TLS隧道有一个基本的了解,但是我从来没有用HTTPS把它复杂化。 所以我先从A – > B创build一个反向隧道: ssh -N -R 8888:localhost:443 [email protected] 那么在这一点上,在B上,我应该能够访问端口8888,就好像它是A上的443一样? 当我尝试打B上的本地主机:8888时,我得到以下(来自链接2) Bad request! Your browser (or proxy) sent a request that this server could not understand. If you think this is a server error, please contact the webmaster. Error 400 www.example.com Sat Mar 29 22:50:34 2014 Apache/2.2.26 […]

ssh使用/ etc / hosts文件中的主机名进行隧道传输

我正试图通过跳转框ssh到目标主机。 以下是我的configuration文件条目 Host 172.* User surendra IdentityFile ~/.ssh/id_rsa ProxyCommand ssh -q -A surendra@jump nc -q0 %h %p 当我用IP地址SSH到目标地址框时,这工作正常。 但是,当我想与主机名SSH,这将无法正常工作。 注意:我在/ etc / hosts文件中也input了一个条目。 有人可以请帮助如何configuration.ssh / config文件,以便我可以通过查看我的/ etc / hosts文件中的主机名条目使用主机名ssh到目的地框。

从服务器通过其他服务器的SSH连接(A-> B-> C)

我有3台服务器,可以称它们为A,B和C. 服务器C在防火墙后面,只有服务器B可以连接到它。 服务器B和C在我的控制之下。 现在我想要服务器A通过服务器B连接到服务器C:A – > B – > C 问题是我不能更改服务器A上的命令,这可能只是一个简单的SSH用户@ B。 我正在尝试使用authorized_keys中的命令选项转发input连接: command="ssh user@C" ssh-rsa KEY 每当A与Bbuild立连接时,我可以看到与Cbuild立了连接,但是A似乎没有意识到这一点和超时。 我试图添加选项-t,-t -t,-T或-N到ssh命令,但无济于事。 有没有办法以服务器A认为他正在与服务器B进行通信的方式向前发送ssh连接? B和C之间的连接需要在A连接B时触发,Aclosures连接时closures。 所有validation都是使用密钥完成的。 [编辑] 澄清:我无法控制服务器A上的命令,但现在,A连接到B,然后B打开连接到C.这里的问题是dat A不能识别新的连接。 我认为它没有得到一个提示或东西,所以A知道有一个连接。 如果我手动使用此设置 ssh user@B 它的工作,我直接login在C

SSH隧道通过第三台服务器连接2台服务器

我有3台服务器, A是Internet上的公共可访问服务器。 B提供我想要访问的Web服务。 C有权连接到A和B. 现在我想,如果一个客户端D试图访问一个特殊的端口,他将被转发到B. IP和端口 A: 1.0.0.1:22 SSHD服务器 1.0.0.1:443公共端口,我想要使用 B: 1.0.0.2:23 SSHD服务器 1.0.0.2:444 Webservice我想访问 C: 1.0.0.3 d: 1.0.0.4 图: +————+ +————+ | Client (D) +——–> Public (A) | +————+ +—–^——+ | +—————-+ +———–+ | Webservice (B) <—-+ Proxy (C) | +—————-+ +———–+ 题: 什么SSH隧道命令我需要在C上执行,所以,如果我试图打开D 1.0.0.1:443我得到的服务托pipe在1.0.0.2:444?

SSH + svnserve -t命令,同时仍然允许shell访问

我在configuration只有一个主用户帐户(例如ownername )的网站托pipe服务器(例如website.com )时遇到了一些麻烦,以允许以下操作: 用户我和朋友在svn日志条目中显示为用户名, 用户我和朋友可以通过SSH访问shell 所以,我在我的本地机器( 笔记本电脑 )上设置了私钥/公钥对,并将公钥复制到了website.com的/home/ownername/.ssh/authorized_keys文件中。 我将这个命令参数添加到该行: command="svnserve -t –tunnel-user=me -r /home/ownername/" ssh-rsa A…eQ== laptoplogin@laptop / home / ownername / svn /是Subversion版本库的位置。 这使我可以使用: [laptop]$ svn co svn+ssh://[email protected]/svn/ project 而且我使用Subversion进行的任何更改都会在更改注释中列为用户,这非常棒。 但是,当我通过sshlogin时: [laptop]$ ssh [email protected] ( success ( 1 2 ( ANONYMOUS ) … Connection closed. [laptop]$ 那么,我试图做甚么? 我真的不知道ssh隧道知道该怎么做。 有许多网站讨论限制或删除 svn客户端的shell访问权限,但当然我想除了我自己和朋友的自定义用户名之外的shell访问。 任何帮助表示赞赏! 解: 我只是设置了两个不同的id_rsa键:id_rsa_shell和id_rsa_svn。 我将这些附加到服务器的.ssh […]

无法获得隧道到新鲜的Ubuntu 10.04服务器

我刚刚build立了一个新的10.04服务器,不能让隧道工作。 本地机器 > ssh -L 9090:localhost:9090 [email protected] login成功,但之后从本地浏览器( http://127.0.0.1:9090)尝试隧道 在服务器terminal回显: channel 3: open failed: connect failed: Connection refused auth.log sshd [24502]:error:connect_to localhost port 9090:failed。 iptables -L链INPUT(策略ACCEPT)目标protselect源目的地 链FORWARD(政策接受)目标保护select源的目的地 链OUTPUT(策略ACCEPT)目标protselect源目的地 在服务器尝试9090(链接http://xx.xxx.xx.xx:9090作品) sshd_config与以前的8.04服务器是一样的,工作正常。 这是怎么回事? 感谢任何input。 问候, //Ť

用于专用于SSH隧道的用户的大多数安全设置

由于安全原因,我在远程VPS上创build了一个用户,仅用于SSH隧道。 我的本地PC遇到了许多令我感到害怕的事情,因为我需要离开SSH会话。 所以,我想locking这个用户(在服务器上),以便其他人不能做任何事情,除了SSH隧道(即使密码被盗用)。 有了这个用户,我只想login(使用密码)和SSH隧道..只是没有更多! 你能帮忙吗?