我以前问过如何使用中间服务器配置2条SSH隧道,以便通过它们运行远程桌面,并且我设法使其工作。现在,我试着做同样的事情,使用相同的机器,但顺序相反。下面是设置:
我在笔记本电脑上使用Putty创建了一个从它到Linux服务器的反向隧道:R60666 localhost:3389。
我在PC上使用Putty来创建一个从它到Linux服务器的常规隧道:L60666 localhost:60666。
我SSH到Linux,运行telnet 60666,它似乎产生了预期的输出,正如我收到的这里调试技巧中所描述的那样。
我试图将远程桌面从PC连接到笔记本电脑:localhost:60666。它询问我的用户名和密码,我点击OK,它将我当前的会话锁定在笔记本电脑上(所以我在笔记本上看到欢迎屏幕而不是我的桌面),它在远程桌面屏幕上显示“欢迎”消息,然后它就变黑了。它不会断开连接,也不会提供任何错误,而且我无法在远程桌面屏幕上执行任何操作。我在Windows笔记本电脑上尝试了同样的设置,我也遇到了同样的症状。我也尝试使用不同的端口比60666,但没有什么改变。有人知道我做错了什么吗?
更新:正如@jwinders所指出的,我无法直接从Linux服务器运行telnet PC 3389。由于Windows防火墙有一条允许端口3389上所有连接的规则,我不知道是什么阻止了它。幸运的是,我能够创建一个从Linux机器到PC ssh 3389:localhost:3389 'domain\user'@PC的SSH隧道。
发布于 2015-03-24 10:20:00
我今天也遇到了同一个黑屏幕+断开连接的问题,用putty作为我的客户。我终于找到了解决办法。
我从putty切换到双虎钳掘进机,并使用以下设置设置了一个S2C连接:
listen if:0.0.0.0
listen port:13389
destination host:localhost
dest port:3389偶然的是,我在我的服务器上使用了bitvise服务器,所以对于同一厂商生产的两种产品来说,这可能是一个很好的组合。如果这能解决其他人的问题,那就太好了。
说句公道话,我和这些家伙没有任何关系。
发布于 2012-07-18 08:28:15
我看不出你们的SSH隧道有什么问题。连接到本地主机:60666在PC应该结束在本地主机:3389在笔记本电脑。而你得到的登录屏幕证实了这一评估。
在空白屏幕上搜索一下,就可以找到微软知识库的文章:http://support.microsoft.com/kb/555840。它指出,由于MTU大小可能不匹配,可能出现空白屏幕:
验证服务器、客户端和网络设备使用的"MTU“大小。
考虑到您的网络跳数、防火墙以及您拥有的功能,数据包碎片很有可能:)大多数Windows机器默认使用的MTU为1300,而大多数Linux机器的MTU为1500 (局域网允许的最大值,不考虑大帧)。您可以尝试降低这些以减少碎片。
另请参阅:
发布于 2012-07-18 20:38:55
VPN不是更合适吗?OpenVPN的配置非常简单。下面是一个示例配置和一些链接,以指导您完成证书创建过程。
只要将中介配置为主机,客人就可以拨打电话,仍然可以相互通信。
apt-get install openvpn
mkdir /etc/openvpn/easy-rsa
mkdir -p /etc/openvpn/ccd/client_server
touch /etc/openvpn/ipp.txt
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh
cd /etc/openvpn/easy-rsa/keys
openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile ca.crt然后创建一个新文件/etc/openvpn/client_server.conf,并将以下内容放入其中,酌情更改SERVER_IP_ADDRESS
local SERVER_IP_ADDRESS
port 8443
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
pkcs12 /etc/openvpn/easy-rsa/keys/server.p12
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 192.168.100.0 255.255.255.0
client-config-dir /etc/openvpn/ccd/client_server
ccd-exclusive
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
reneg-sec 0
client-to-client然后为要连接的用户构建一个键,并在ccd dir中创建配置文件。
./build-key-pkcs12 user1@domain.com
echo "ifconfig-push 192.168.100.2 255.255.255.0" > /etc/openvpn/ccd/client_server/user1@domain.comIP地址必须适合于/30子网(请参阅http://www.subnet-calculator.com/cidr.php),因为每个连接只有两个可用地址(服务器和客户端)。因此,您的下一个可用客户端IP是192.168.100.6,依此类推。
然后,现在每个连接用户都有静态IP。
然后向最终用户提供the user1@domain.com.p12文件,并使用以下配置文件
client
dev tun
proto udp
remote SERVER_IP_ADDRESS 8443
pkcs12 user1@domain.com.p12
resolv-retry infinite
nobind
ns-cert-type server
comp-lzo
verb 3
reneg-sec 0https://serverfault.com/questions/406737
复制相似问题