标签: ssh-tunnel

如何最好地设置 ssh 隧道以访问远程网络 (Linux)

我的情况:我想用 gdbserver 和 eclipse 远程调试我的 C++ 应用程序。Eclipse 在我的本地工作站(在 192.168.0.0 网络中)上运行,而 gdbserver 在 10.0.0.0 网络中的集群机器上运行。我可以通过两个网络中的机器 ssh 访问 clustermachine。

如何设置隧道以便我的 eclipse 可以访问 gdbserver?我没有管理员权限/root/sudo 访问权限。

所有的机器都是带有openssh的linux/Unix。

linux ssh ssh-tunnel

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

ssh 端口转发在 10 个同时连接后冻结

我正在使用端口转发来利用远程机器上的代理服务器。

远程机器主机名是remotemachine. 代理正在侦听 8118 端口。我正在将此端口转换为本地端口 5223。

ssh -vvv -N remotemachine -L 5223:localhost:8118
Run Code Online (Sandbox Code Playgroud)

如果我不使用超过 10 个同时连接,当 ssh 冻结时,一切都很好。它不再通过端口转发发送数据。

ab -c 10 -t 5 -X 'localhost:5223' 'http://www.google.ru/'工作,但ab -c 20 -t 5 -X 'localhost:5223' 'http://www.google.ru/'导致 ssh 冻结

MaxSessions 30参数 in/etc/ssh/sshd_config根本没有帮助。

我该怎么做才能消除这 10 个连接限制?

-vvv输出中没有什么有趣的=(

ssh proxy port-forwarding ssh-tunnel

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

使用代理连接到远程 MySQL

我正在尝试通过 SSH 使用端口转发连接到远程 MySQL 服务器(TCP 访问仅限于特定 IP),但仍然没有弄清楚如何去做。

这是我打算做的:

Local[A] ---> Proxy[B] ---> Remote MySQL[C]
Run Code Online (Sandbox Code Playgroud)

[A] 装有 Windows 的本地机器

[B] IP 为 123.123.123.1 的 CentOS 机器(运行自己的 MySQL,顺便说一句)

[C] 在端口 3306 上授权 IP 123.123.123.1 的远程 MySQL 服务器

如何实现这一目标?

提前致谢。

mysql ssh ssh-tunnel

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

反向 ssh 隧道侦听错误的接口

我正在使用防火墙后面的服务器。我已经建立了一个到互联网中间服务器的 ssh 隧道,如下所示:

remoteuser@behind_fw$ ssh -N -f -R 10002:localhost:22 middleuser@middle
Run Code Online (Sandbox Code Playgroud)

但是我无法直接通过此服务器连接,这不起作用:

user@local$ ssh remoteuser@middle -p 10002
Run Code Online (Sandbox Code Playgroud)

我必须分两步连接:

user@local$ ssh middleuser@middle
middleuser@middle$ ssh remoteuser@localhost -p 10002
Run Code Online (Sandbox Code Playgroud)

netstat -l中间的输出:

tcp        0      0 localhost:10002         *:*                     LISTEN
Run Code Online (Sandbox Code Playgroud)

但它应该是这样的:

tcp        0      0 *:10002                 *:*                     LISTEN
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

ssh tunneling ssh-tunnel

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

通过 SSH 代理机器的 VNC 连接

我想建立从家里到工作中的 Windows 机器的 VNC 连接。无法从外部访问 Windows 机器,但是有一个 Linux 机器确实打开了端口 22,因此似乎可以做到这一点。

我怀疑这只是一个将 Linux 机器上端口 22 的连接“转发”到 Windows 机器的命令?只是找不到一个可以做到这一点的例子

提前致谢!

firewall ssh vnc ssh-tunnel

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

可靠的反向SSH隧道

我正在使用autossh私钥打开反向 SSH 隧道。隧道用户的 shell 已经rssh并被验证为工作正常。

我遇到的问题是这样的,无论 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                              \
  tunnel@directory.mytunnelhost.com
Run Code Online (Sandbox Code Playgroud)

${tunnel_port}来自一个小curl的呼叫看起来隧道主机上的空闲端口,该端口不会改变(它是基于请求对话框的MAC地址分配)

问题是在TERM启动隧道客户端时,端口在主机上一直被占用,而 sshd 进程继续运行:

在此处输入图片说明

我也无法通过隧道登录机器:

ubuntu@ip-10-252-138-233:~$ ssh -p 39777 pi@localhost
ssh: connect to host localhost port 39777: Connection refused
Run Code Online (Sandbox Code Playgroud)

我想知道我能做些什么来使隧道更可靠,以确保当任一端发生故障时,它已经完全死机,被拆除并且不能进入“损坏”状态。

如果我通过端口 80 或类似端口建立隧道,我可以编写一个check脚本(这个守护进程runit以,我不知道客户如何知道隧道是否真的 …

ssh ssh-tunnel

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

RDP相当于SSH端口转发?

我正在使用 RDP 从一台 Windows 机器连接到另一台机器。我想localhost:81通过本地 IP 地址上的内部网络将流向远程机器的流量转发到远程机器可访问的机器,比方说10.90.228.163。所以我想要 TCP 流量:

client --> localhost:81 --> [rdphost] --> 10.90.228.163:81 --> server
Run Code Online (Sandbox Code Playgroud)

使用 OpenSSH 和 PuTTY,我可以使用本地端口转发来做到这一点;将本地端口转发8110.90.228.163:123. 有没有办法用 RDP 来做到这一点?

rdp ssh port-forwarding ssh-tunnel windows-server-2012-r2

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

当我的 ssh 隧道在后台时,如何停止它?

我正在使用这个 ssh 命令:

ssh -fnN -L $LOCALPORT:$REMOTEHOST:$REMOTEPORT $HOST

这会在后台创建我的 ssh 连接,并通过另一台主机将该端口转发到远程主机。这很棒,并且允许我通过连接到可以访问两个网络的服务器来在防火墙后面使用我的服务。

完成后我需要停止此 ssh 连接,但我不确定如何。

ssh-tunnel

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

ssh -R 仅在远程绑定到 127.0.0.1

我正在运行ssh -N -f -R127.0.2.3:23000:127.1.2.3:23000 user@remote,我希望远程上的隧道已在 上打开127.0.2.3:23000,但它只在 上打开127.0.0.1:23000,这很不方便,因为我需要在远程上打开多个隧道,但监听相同的 tcp 端口。

在本地机器中,隧道指向正确的 IP 地址 (127.1.2.3:23000)。

我尝试在远程创建几个环回设备,但无济于事。

Linux 和 Freebsd 服务器(openbsd-ssh)也是如此

那么,为什么 ssh -R 没有绑定到远程 127.0.0.1 以外的环回 IP?

谢谢你。

(抱歉编辑不好:)

ssh ip ssh-tunnel loopback

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

如何通过跳转主机 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
查看次数