Articles of 隧道

如何设置限制权限的SSH用户?

有一些网站只提供SSH帐户只用于SSH隧道。 我想知道如何确保这些帐户只能拥有执行隧道的权限,以及如何进行限制设置。 而且我也注意到github的ssh格式是ssh://[email protected]:{gituser} / {project} .git,所以,我猜github.com对每个人都使用了git帐号,但是这个git帐号有很大的限制权限,当用户访问$ gituser /文件夹时,以另一种方式进行身份validation。 我真的想知道如何。

通过SSH传输的HTTPstream量与networkingpipe理员有什么不同?

当我在工作时,我们有非常严密的防火墙,作为避开它们的一种方式,甚至可以自己增加一些匿名性,我的许多同事已经build立了SSH隧道到我们自己托pipe的外部Linux机器,并将它们用作SOCKS代理。 最基本的设置可能看起来像这样,虽然有些人有稍微更复杂或简化的设置: localhost SOCKS proxy -> SSH tunnel -> sshd on port 443 -> internet SSH正在侦听端口443,因为端口22上的传出请求被阻止。 对于那些感兴趣的人有些人使用stunnel但大多数人使用像这样调用plink : plink.exe -N -D localhost:7070 -l user -pw password -P 443 remote-server.com 我的问题是,在我们公司的networkingpipe理员看来,穿越这条隧道的networking是什么样的? 它只是看起来像“443端口太多基于ssh的stream量”,这可能引起一些怀疑,或者他们真的可以看到请求的性质? 我通过这种方法得到的匿名程度是多less,有没有更好的办法?

保持SSH隧道打开,并运行远程命令

防火墙后面的计算机(在远程位置)连接到我的服务器以打开隧道…目的是从服务器,我可以通过SSH连接到计算机。 计算机连接: while true; do PORT=$(((RANDOM %= 1000) + 2000)); ssh -R $PORT:localhost:22 -o ServerAliveInterval=30 "server" "record_port.sh '$PORT';"; sleep 5; done 服务器上的“record_port.sh”shell脚本包含: echo "$PORT" > "/tmp/tunnel.port"; while true; do sleep 300; done 然后我可以通过以下方式连接到服务器: function computer { ssh -p `cat /tmp/tunnel.port` -o NoHostAuthenticationForLocalhost=yes localhost } 服务器还在/ etc / ssh / sshd_config中有一个“ClientAliveInterval 30”,并使用rbash和dss键之类的东西。 我使用了一个随机端口,因为我发现有时端口已经被使用,意图是如果我终止服务器上的连接,计算机将在5秒钟后重新连接一个新的端口。 而且因为它是一个随机的端口,我需要shell脚本来logging正在使用的端口(没有任何运气与lsof)。 但问题是,如果互联网连接丢失,隧道closures,计算机将愉快地重新连接一个新的隧道在不同的端口号,但原来的进程(record_port.sh)继续: ps […]

保护端点之间的每个连接

有时候必须使用没有内置非本地连接的安全function的软件。 实际上,一些客户端库正在通过电报以明文forms发送证书。 另一方面,这些应用程序可能是强大的,并且非常好地服务于他们的目的 – 所以几乎没有理由取代它们。 如何保护群集内节点之间的“不安全”连接,并从实际应用程序中隐藏这些隧道? 对于小的请求/响应或更大的请求/响应,它将以何种方式影响性能? 什么是折衷的? 请注意:我对Linux世界相对比较陌生,我想了解更多关于安全环境的知识。当我读到一篇关于NoSQL早期版本的安全特性的文章时,数据库。 安全漏洞的一个例子是证书通过线路以明文forms发送,以及节点之间的所有数据。 所以我想知道如何使用这种有价值的技术,即使它缺less一些内置的安全function。 问候,Ems

OpenVPN – 客户端连接到服务器,但不隧道

对于上下文,我正在迁移我的VPN服务器。 我几乎完全复制了旧的设置,现在连接到新的VPN服务器的客户端不能正确地隧道(但他们连接就好)。 隧道,这是我的客户的路由表: Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0 [vpnserver-ip] 10.105.0.1 255.255.255.255 UGH 0 0 0 wlan1 10.105.0.0 0.0.0.0 255.255.252.0 U 0 0 0 wlan1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan1 […]

Rp_filter和linux隧道

有人可以请示例解释为什么使用IPIP / GRE隧道时需要禁用反向path过滤? echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

在不知道本地程序的情况下,通过不同的路线隧道化端口

我需要build立以下scheme: server1:通用程序在本地连接到代理,然后代理连接到server2。 一切都好,直到服务器之间的连接。 当连接closures或发生其他一些事件(例如丢包,多次重传等等)时,事情将不起作用,我们需要做以下工作: server1使用相同的代理程序将当前连接“重新路由”到第三个服务器(server3) server3连接到server2是好的, 因此本地通用程序不会重新连接,甚至不关心连接问题。 分别在另一端(在服务器2上)的本地通用程序也不知道有另一个路由。 大概可以用haproxy和openvpn来模拟,但openvpn connect对于快速交换机来说太慢了,而且对于一个服务(比如说tcp端口)来说设置太复杂了。 [ – 就像一个端口的隧道 – ],并且server1上的本地客户端程序不需要重新连接(或build立一个新的连接)到server2上的服务器程序,当server1和server2 任何人都可以告诉我在Linux下这样的tcp-proxy-reroute程序? 编辑:我不是说我需要保存tcp会话左右。 我需要像haproxy(工作在第7层), 当client_prog_1_srv_1连接本地主机haproxy_1_srv_1时, haproxy_1_srv_1将(Internet)连接到haproxy_2_srv_2, haproxy_2_srv_2连接到server_prog_2_srv_2(也在本地绑定和连接), 但是当haproxy_1_srv_1和haproxy_2_srv_2之间没有连接时, haproxy_1_srv_1连接到haproxy_3_srv_3, 它连接到haproxy_2_srv_2并重新使用haproxy_2_srv_2和server_prog_2_srv_2之间打开的连接。 haproxes之间的连接是通过互联网,到最终程序(客户端,服务器)的连接始终是本地的。

GRE保持与Linux和RouterOS

我有一个Linux主机和几个routerboadrs。 我创build了一个GRE隧道,但Linux不回答存活包。 然后路由器将gre连接标记为不可达 ,所以我不能从路由器子网发送到Linux主机。 如果linux发送的东西进入隧道(ping等) – RouterOS标记连接为可重复的。 第二个和下一个软件包路由很好,直到闲置一分钟(没有stream量)。 在linux中的隧道是这样做的: remote=xxxx dev=gre21 network=10.21.0.0/16 ip tunnel add ${dev} mode gre remote ${remote} ttl 255 ip addr add 172.16.1.1/24 peer 172.16.1.21 dev ${dev} ip link set ${dev} up ip route add ${network} dev ${dev} 而ip l : 14: gre21: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN link/gre 0.0.0.0 […]

如何使用远程Linux服务器的IP作为我当前Linux服务器的附加IP?

我有2个Linux服务器'X'和'Y'。 服务器X有大量的资源,但有2个公共IP(1个主IP绑定为eth0,另有1个IP绑定为eth0:0)。 服务器Y有9个公共IP(1个主IP绑定为eth0,另有8个IP绑定为eth0:0到eth0:7),但资源有限。 我想在服务器X上使用服务器Y的附加IP(8个IP),这样服务器X将总共有10个IP。 我search了一下,我认为有可能使用IPIP隧道/ GRE隧道我已经尝试了几天,但迄今没有运气。 以下是我在两台服务器上所做的工作: 服务器X sysctl -w net.ipv4.conf.default.rp_filter=0; ip tunnel add tunx mode gre remote |Y's Main IP| local |X's Main IP| ttl 255 dev eth0; ip link set tunx up; ip addr add 10.10.1.1/32 dev tunx peer 10.10.1.2; ip addr add |One of Y's Additional IPs|/29 dev eth0; 服务器Y sysctl -w […]

如何让SSH隧道提示input用户名和密码

我们有一个Windows桌面应用程序,通过套接字连接连接到第三方服务器。 第三方服务器要求我们连接一个固定的公共IP地址。 我们需要从不同的IP地址进行连接,所以我设置了一个(Linux)服务器来隧道连接,以便它看起来像第三方服务器,所有连接始终来自同一个IP地址: ssh -N -L端口:127.0.0.1:端口帐户@ ip -p端口2 隧道似乎工作正常; 作为一个testing,我可以从它创build的帐户远程login到它。 为了允许Windows机器(运行应用程序)通过隧道,我将-g添加到了ssh命令行。 现在其他机器也可以通过隧道远程login。 一切工作到目前为止。 但是,我希望能够限制谁可以使用隧道。 当我telnet到Linux服务器时,我希望提示input创build隧道帐户的用户名/login名; 相反,连接只是没有限制地创build。 我不想使用IP地址过滤,因为这是我首先设置Linux服务器的原因(允许任何IP地址)。 从另一台机器连接到隧道时,如何让Linux服务器提示input用户名/密码? 这会做一些额外的或不同的命令行选项的SSH,还是我需要使用别的东西? 我期待着在Windows桌面机上运行一些像tunellier的东西。 因此,我会告诉Windows桌面应用程序连接到它运行的Windows机器上的本地端口。 这个本地端口将通过tunellier隧道到Linux服务器。 Linux服务器将转而通过第三方服务器。