问题标签 [ssh-tunnel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2282 浏览

mongodb - 通过 SSH 隧道的 MongoDB 连接

我在 Linode 上有两台服务器,它们可以通过本地 Linode 区域网络相互连接。问题是该地区的任何其他 Linode 也可以使用该 IP 进行连接。一台服务器托管 python 应用程序,另一台托管 MongoDB。

使用 SSH 隧道连接到数据库是个好主意吗?如果隧道发生故障会怎样?已知 SSH 隧道会失败吗?

还是我以错误的方式解决问题?我能想到的另一种选择是将 iptables 设置为仅接受来自特定源 IP 的连接。

我在想一个更假设的情况,也许我只需要一个数据库密码。我一直在学习计算机安全课程,它让一切看起来比实际更容易受到攻击。

0 投票
3 回答
3741 浏览

linux - SSH隧道进入拱盒

我有一个运行 arch linux 的树莓派连接到电视,并希望通过 SSH 从我的 Ubuntu 机器在其他地方运行该屏幕上的命令。

我尝试运行命令 SSH -Y root@ 并启动 xclock 作为测试。但是我收到以下错误:

未指定协议错误:无法打开显示::0

然后我尝试在拱形机器上运行“export DISPLAY=:0”,但这并不能解决问题。

我的 X 运行良好,可以在电视上看到它,并且我编辑了文件 /etc/ssh/ssh_config 以允许 X11 转发。

有人知道我在做什么错吗?

非常感谢

0 投票
6 回答
46115 浏览

mysql - 通过 SSH 隧道的 MySQL 连接

我已经在两台服务器AB之间建立了 SSH 隧道。B有 MySQL 服务器,这有效:

虽然这不是:

虽然 my.cnf 有以下几行:

现在关于隧道。它连接以下内容:(A) localhost(9989) -> (B) localhost(3306) 但是当(在A上,端口转发)我做

我明白了ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

当我这样做时

我明白了ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)

可能是什么原因?我究竟做错了什么?

0 投票
1 回答
1247 浏览

python - python - 如果服务器暂时不可用,则无法从客户端重新启动套接字连接

我正在运行 Graphite 服务器来监控远程位置的仪器。我有一个从我的服务器(喜欢 autossh)到机器的“永久”ssh 隧道,以将它们的本地端口映射到我的服务器的本地端口。这很好用,数据可以毫不费力地通过。然而,我们使用不稳定的卫星连接到这些站点,这种连接经常出现故障。我在运行 python 并使用套接字将数据包发送到 Graphite 服务器的仪器上运行“数据爬虫”。问题是,如果链接暂时断开(或服务器重新启动,主要用于测试),我无法重新建立与服务器的连接。我捕获错误,然后运行socket.close(),然后重新打开,但我无法重新建立连接。如果我退出 python 程序并重新启动它,连接就会很好。

0 投票
1 回答
1395 浏览

linux - How to limit reverse SSH tunelling ports?

We have a public server which accepts SSH connections from multiple clients behind firewalls.

Each of these clients create a Reverse SSH tunnel by using the ssh -R command from their web servers at port 80 to our public server.

The destination port(at the client side) of the Reverse SSH Tunnel is 80 and the source port(at public server side) depends on the user. We are planning on maintaining a map of port addresses for each user.

For example, client A would tunnel their web server at port 80 to our port 8000; client B from 80 to 8001; client C from 80 to 8002.

Basically, what we are trying to do is bind each user with a port and not allow them to tunnel to any other ports.

If we were using the forward tunneling feature of SSH with ssh -L, we could permit which port to be tunneled by using the permitopen=host:port configuration. However, there is no equivalent for reverse SSH tunnel.

Is there a way of restricting reverse tunneling ports per user?

0 投票
3 回答
7238 浏览

bash - 通过 ssh 调用交互式 bash 脚本

我正在编写一个“工具”——几个 bash 脚本——它可以自动在集群中的每台服务器上进行安装和配置。

“工具”从主服务器运行。它解压缩并将其自身(通过 SCP)分发到所有其他服务器,并通过“批量”SSH 解压缩副本。

在设置期间,该工具会从主服务器发出远程命令,例如以下命令:echo './run_audit.sh' | ssh host4 'bash -s'. 该方法在许多情况下都有效,除非存在交互行为,因为标准输入已经在使用中。

有没有办法通过 SSH 以交互方式运行远程 bash 脚本?

作为起点,请考虑以下情况:echo 'read -p "enter name:" name; echo "your name is $name"' | ssh host4 'bash -s'

在上述提示永远不会发生的情况下,我该如何解决?

提前致谢。

0 投票
1 回答
10868 浏览

ssh-tunnel - 通过 ssh 转发网络连接,以便我的出站 IP 更改

服务,例如 FTP 服务器,只接受来自特定网络的连接,所有用户都将拥有相同的外部 IP 地址。

我想连接到此服务,但我目前不在允许的网络内。

我可以通过 ssh 访问网络内的服务器。

如何使用 ssh 将某个端口从我的本地机器通过内部网络上的机器传送到最终服务,以便任何打开正确端口的客户端都不会注意到任何差异?

0 投票
1 回答
3564 浏览

eclipse - 无法使用开瓶器通过代理建立与 eclipse gerrit 的 ssh 连接

在我的研究所,我只能通过代理访问互联网。我在建立与 Gerrit 代码审查系统 (git.eclipse.org) 的 ssh 连接时遇到了一些严重问题,因此无法向 Gerrit 推送任何新补丁。

为了执行上述任务,我首先尝试使用开瓶器通过 HTTP 隧道 SSH,按照此处给出的说明, 这就是我所做的:

  1. 安装好的开瓶器
  2. 将 ProxyCommand 添加到 ssh 配置
  3. 在文件 ~/.ssh/proxyauth 中添加了代理用户名和代理认证密码

在此之后,我成功地设置了一个连接到 github 的 ssh,并将更改推/拉到我的 github 存储库。

但是我无法通过 ssh 连接到 gerrit。这是确切的错误:

我正在使用 Linux(RHEL 6.3 Beta x86_64)和 git 1.7.11.1(最新)。
我的 ~/.ssh/config 的内容是:

对 git.eclipse.org 的 ssh 请求的详细(错误)结果是:

在我的 git repo 中设置的远程 url 是:

几天前,当我可以直接访问互联网时,我能够通过 ssh 连接并推送我的补丁,使用上述远程设置。

我尝试删除 known_hosts 的内容,但这没有帮助。
这是gerrit服务器的问题吗?

在此先感谢您的帮助。

0 投票
1 回答
1300 浏览

ssh - 通过具有公共 IP 的中介从一个本地网络 SSH 到另一个本地网络

一个本地网络中有一台计算机 (A),而另一台计算机 (B) 位于另一个本地网络中。他们都没有公共IP地址。两个 LAN 网关都不受我的控制。但是我有一个公共 IP 地址的 VPS 服务器,A 和 B 都可以连接到这个 VPS。如何使用中间 VPS 建立从 A 到 B 的 ssh 隧道?

0 投票
2 回答
2190 浏览

ruby-on-rails - 从 Heroku 到远程数据库的 SSH 隧道?

我正在考虑在 Heroku 上部署一个小型 Rails 应用程序。为了省钱,我希望我的应用程序使用外部数据库(我可以免费访问),而不是 Heroku 托管的数据库。问题是免费数据库只接受本地连接。要从 Heroku 访问它,我需要通过 SSH 隧道进行访问。

Heroku 应用程序是否可以将其数据保存在通过 SSH 访问的外部数据库中?如果是这样,怎么做?

(对于奖励积分,这是第二个问题:这是个好主意吗?一方面,这个方案可以让我免于支付 Heroku 数据库的费用。另一方面,这意味着必须加密我所有的数据库流量。我想这会大大降低我的网络测功机的速度,并减少他们可以服务的请求数量。我在数据库上节省的钱会被用来购买更多的测功机吗?这样做我可能会领先吗?)