标签: ssh-tunnel

SSH隧道速度很慢

我有一个使用 Ubuntu Linux 的远程服务器,我想使用 PuTTY(plink) 从 Windows 机器与该服务器建立 SSH 隧道。我必须使用此方法来访问该服务器上的某些服务,因为防火墙阻止了该服务器上除 22 ssh 端口之外的所有端口。但是 SSH 隧道的连接速度非常慢。我已经使用 iperf 工具检查了速度。

以下是在不使用 SSH 隧道的情况下使用 iperf 的结果:

[  5] local <remote_server_ip> port 5001 connected with <my_internet_ip> port 11154
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-10.4 sec  5.12 MBytes  4.13 Mbits/sec
Run Code Online (Sandbox Code Playgroud)

这是通过 SSH 隧道使用 iperf 的结果:

[  4] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 38231
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-15.2 sec   896 KBytes   484 Kbits/sec
Run Code Online (Sandbox Code Playgroud)

速度确实不一样。这怎么可能?我应该做什么来修复它?

ubuntu iperf ssh-tunnel putty plink

6
推荐指数
1
解决办法
1万
查看次数

(反向)ssh 连接“横幅交换期间超时”

我已经设置了几个 100 个嵌入式盒子,通过打开反向 ssh 隧道来联系总部,每个盒子都在一个新端口下。这基本上工作正常,但今天我遇到了通过低带宽(或低质量?)GPRS 连接使用隧道的问题。

打开隧道的远程机器通过(目前未知的)3G 路由器连接到互联网,该路由器可能只有 GPRS,最多是 EDGE 连接。

登录到我的计算机,我可以看到ssh端口 1234 上的传入连接:

me@machine:~$ sudo nmap -sS -p 1234 --open localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2014-11-27 15:27 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Hostname localhost resolves to 2 IPs. Only scanned 127.0.0.1
PORT     STATE SERVICE
1234/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
me@machine:~$
Run Code Online (Sandbox Code Playgroud)

现在,尝试打开 ssh 连接时出现错误Connection timed out: …

ssh ssh-tunnel 3g

6
推荐指数
1
解决办法
5万
查看次数

如何通过跳转主机 ssh-copy-id?类似于 ssh 命令的 -J 选项

我使用跳转主机通过 SSH 连接到远程服务器。

我使用以下线性命令进行连接。

ssh -J jumpuser@jumphost:2455 remoteuser@remotehost

效果很好。

但对于新服务器我需要设置无密码 SSH,所以我尝试使用以下命令:

ssh-copy-id -J jumpuser@jumphost:2455 remoteuser@new-remotehost

但它会抛出错误:

/usr/bin/ssh-copy-id: ERROR: invalid option (-J)

很明显,我不能将 -J 与ssh-copy-id命令一起使用,但我想知道是否有其他方法。

我知道如何手动将密钥添加到远程服务器,但我想节省时间和精力(懒惰)。

linux ssh ssh-tunnel ssh-keys

6
推荐指数
1
解决办法
2646
查看次数

将端口转发到另一个 Ip/端口

我最近发现我的 ISP 禁用了端口 135。我的路由器后面有一台服务器和个人计算机。我和一个朋友正在做一个编程项目,由于这个端口被阻塞,遇到了一些 sql 问题。为了让他能够访问所有内容,我配置了 dynadns

个人电脑:192.168.1.100 服务器电脑:192.168.1.110

有没有办法让我将本地主机流量从端口 135 转发到端口 8081,然后让我的服务器从端口 8081 接收传入请求到 135?我听说过一些关于 ssh 隧道的消息,但是使用 Putty 登录到我的本地机器上,ssh 服务器正在运行以转发端口,这似乎很奇怪。

任何建议都会非常有帮助。

谢谢

编辑:我正在使用安装了 dd-wrt ​​的路由器并安装了 vpn 插件。我试图让 VPN 在我的 Windows 2003 计算机上运行,​​但在未配置 GRE 协议时遇到了问题。我将在我的路由器上尝试 vpn 选项,并在今天晚些时候发布我的结果。

networking tcpip routing port-forwarding ssh-tunnel

5
推荐指数
1
解决办法
2万
查看次数

通过 SSH 远程桌面到 Windows 7 框

我一直在使用远程桌面访问 Windows 7 PC,通过 SSH 连接建立隧道,现在成功了一段时间,直到它突然停止工作。

客户端也是 Windows 7,我仔细检查了隧道(使用腻子)设置是否正确,以及远程 PC 上是否启用了远程桌面连接。

在客户端上,我有一个静态 IP 为 10.0.0.1 的环回适配器,在 Putty 中,我将 10.0.0.1:33891 转发到远程服务器上的端口 3389。

直到大约一周前,这一切都很好,我想知道可能发生了什么?现在远程桌面客户端卡在“配置远程会话”中,然后超时。

有任何想法吗?

ssh windows-7 remote-desktop ssh-tunnel putty

5
推荐指数
1
解决办法
1万
查看次数

ssh 端口转发不适用于(本地)IP 而仅适用于 localhost

我有一个远程机器在example.comsshd监听端口1234 和端口的网络服务5678

出于某些原因,我想“本地化”对该 Web 服务的 http 请求。

当我执行

ssh -L 4321:example.com:5678 root@example.com -p 1234 -N
Run Code Online (Sandbox Code Playgroud)

在本地机器 ( 10.0.0.1) 上,我可以通过导航到以下位置来查看 Web 服务:

http://localhost:4321
Run Code Online (Sandbox Code Playgroud)

但是,如果我将浏览器指向:

http://10.0.0.1:4321
Run Code Online (Sandbox Code Playgroud)

我收到错误(错误 102: net::ERR_CONNECTION_REFUSED 如果这有什么区别的话)。

有没有办法使 ssh 端口转发在ip address而不是下可用localhost

我需要它以便为 LAN (10.0.0.0/24) 上的其他计算机提供远程服务。

ssh port-forwarding ssh-tunnel

5
推荐指数
1
解决办法
3713
查看次数

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

我正在尝试将 SSH 隧道设置为 Web 代理,以便在我在公共场所时使用。我已经有一个远程服务器可以使用,而且我过去也使用过这台服务器。但是,现在当我尝试时,我成功建立了 SSH 连接,但是网络浏览器没有为我访问的每个页面返回任何数据。

我使用的 SSH 命令是:

ssh -ND 8080 -p 20000 myusername@myserver.com

这正确连接。如果我不包括 -N,那么我会正确地看到一个远程 shell,因此连接成功。

但是,当我将浏览器设置为使用本地代理时 - 每个页面都不会返回 HTML 数据。它也不会返回任何错误。字面上只是一个空白页。请注意,如果我断开 SSH 连接 - 则浏览器会显示代理错误。所以浏览器肯定是在用代理做一些事情。

如果我尝试这是 Chrome,那么我会收到一个 chrome 错误,明确指出“没有返回数据”。如果我在 Firefox 中尝试这个,那么我只会得到一个空白页面。

请注意,我只是在一个公共场所尝试此操作。我目前正在度假,正在使用公寓的 wifi 连接。所以我想这可能与他们的设置有关。但是,鉴于我可以成功通过 SSH 连接到我的服务器 - 我不确定他们的配置中的哪些内容会有所作为。请注意,我还尝试通过代理包含 DNS 查找。

ssh proxy ssh-tunnel

5
推荐指数
1
解决办法
5220
查看次数

SMB 代理:通过其他两台主机之间的 SSH 隧道连接到 SMB 服务器

我希望本地主机访问我公司的 SMB 共享。这些位于 Win7 对等点上。这个对等点正在运行一个带有 Debian 的虚拟机,它本身正在运行一个 ssh 守护进程。

我可以轻松地创建从本地主机到 VM 的 ssh 隧道,但无法使 SMB 转发/代理工作。我在这方面读了太多,最终完全混淆了要转发到哪个接口和主机上的哪个端口等等......

如果我是对的,我必须将 localhost 的端口 139 转发到我的代理上的端口,并且在代理本身上将端口 139 转发到同一主机上的 ssh 隧道的端口?这应该有效吗?我应该如何设置每个主机来实现这一点?

网络大致如下:

localhost ===(ssh)=== |router| ===(ssh)=== debian vm ===(smb)=== win7

路由器只是将 SSH 连接转发到 VM。

ssh proxy samba server-message-block ssh-tunnel

5
推荐指数
1
解决办法
2万
查看次数

如何强制所有数据包通过 ssh 隧道?

我们有一个 SSH 隧道 ( ssh -ND 127.0.0.1:8080 user@example.com),如果将浏览器指向127.0.0.1:8080为 socks5 代理,它可以正常工作,但其他流量仍然没有通过这个隧道。

我如何才能让所有流量都通过 SSH 隧道?

我需要什么工具和设置?

我使用的系统是 Debian 和 MacOS,如果解决方案或多或少适用于两个平台,那么更好。

proxy ssh-tunnel

5
推荐指数
1
解决办法
7226
查看次数

如何在 Linux 中将多个 SSH 隧道链接在一起

我有以下情况:

A -----|------ B -----|------ 工作

工作可以通过 SSH 连接到 B,而 A 可以通过 SSH 连接到 B,但除此之外,一切都受到了防火墙的保护。我想要做的实际上是在 Work 和 A 之间创建一个 SSH 隧道,以便我可以从 A 使用 VNC 进入 Work。

在工作中,我创建了一个远程 SSH 隧道:

ssh -R 5900:localhost:5900 B
Run Code Online (Sandbox Code Playgroud)

这意味着我可以从 B 进入 VNC 工作。但是我需要做什么才能将它扩展到 A。我尝试创建一个从 A 到 B 的本地 SSH 隧道,如下所示:

ssh -L 5901:localhost:5900 B
Run Code Online (Sandbox Code Playgroud)

但是它给出了,bind: Cannot assign requested address因为 5900 已经被分配了。

有没有人有任何想法如何做到这一点?

linux tunneling ssh-tunnel

5
推荐指数
1
解决办法
2160
查看次数