我希望在 Windows 上使用 PuTTY 设置隧道。
理想情况下,我会直接从 A->C SSH,但是,我无法从我所在的网络中访问。但是我可以从 A->B->C 连接。
C 正在运行一个 vncserver,我想从 A 连接到它。
如何从 A->B->C 通过 SSH 隧道?
大约一年以来,我已经拥有从所有客户端计算机到服务器的持久隧道。我已经几个月没有更新我的服务器或更改任何配置文件——据我所知——。突然间,我的所有客户端计算机的隧道都停止工作(我为每台计算机使用不同的端口)。
我使用 RSA 密钥。我已经在每台计算机上多次重新生成它们。
当在“ps aux”输出中找不到“clients@my.hostname”时,我有一个脚本通过Cron作业运行以下内容:
ssh -p 2222 -g -T -N -x -f -R 2223:localhost:22 clients@my.hostname
Run Code Online (Sandbox Code Playgroud)
当我使用 -vvv 手动运行此命令时,我可以 ssh 进入服务器,然后 ssh 进入转发端口(ssh localhost -p 2223)就好了。然而,五分钟后,它就挂了。我使用 -vvv 在服务器上得到以下输出:
chad@zeus:~$ ssh localhost -p 2223 -vvv
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 2223.
debug1: Connection established.
debug1: identity file /home/chad/.ssh/identity type -1
debug3: Not a RSA1 key file /home/chad/.ssh/id_rsa.
debug2: …Run Code Online (Sandbox Code Playgroud) 我有一个需要运行的闭源 Windows 工具,它必须连接到远程机器。问题是,该工具只有 telnet 功能,而远程主机只接受 SSH2。是否有一些简单的方法来设置某种转发服务,在那里我有一个本地 linux 主机来侦听 telnet 通信,并将其转换为 SSH?
我先说我是一名解决方案架构师,我有一个客户希望在云中托管应用程序。该应用程序需要访问来自 SAP 和其他系统的信息。
从云机器安全连接到企业网络中的 erp 系统的最佳方法是什么?我想在不改变防火墙的情况下做到这一点。理想情况下,我希望从应用程序到 SAP 服务器有某种隧道。
我看到一家名为 RunMyProcess 的公司有一个软件组件,您可以将其安装在防火墙后面的服务器上,以某种方式允许他们访问您的内部系统。我认为他们使用 Google 安全数据连接器。
这是如何运作的?
我们有一个使用 SSH 连接到服务器的应用程序:应用程序的网络流量(数据库、一些自定义 TCP 协议等)通过 SSH 连接进行隧道传输。
我们在服务器上使用密钥对和非特权帐户,但用户仍然可以使用他们的密钥登录服务器,或者做任何他们想做的端口重定向。
有没有办法将 SSH 服务器配置为仅允许某些隧道(受隧道的结束地址和端口限制)并禁用 shell 访问?(我们使用 OpenSSH)
[编辑]
我遇到了这篇文章,似乎删除 shell 访问权限还不够。相应地更改了标题和描述。
任何人都知道是否可以使用 telnet 客户端设置端口转发,就像使用 SSH 一样?
我想解决服务器上的某个问题,但由于维护防火墙的人在休假,因此无法连接调试器。我不想弄乱他的设置。不过他给了我管理员密码。
因此,出于我的目的,我需要将调试器附加到服务器上运行的 Java 程序。当我通过 ssh 在服务器上执行“jdb -attach port”时,它可以工作。我想在我的机器上使用 eclipse 来连接到那个端口。所以这就是我认为在我的情况下做的最好的事情。
在服务器上运行一个监听程序,在我的机器上运行一个程序,让它们通过 SSH 通信。然后我的 eclipse 将连接到本地程序,该程序将与服务器本地应用程序通信,该应用程序将我附加到 JVM 进程。(利润!!!:)
我不知道该怎么做。我有一个模糊的想法,我应该使用 netcat。但是,您能否帮助我了解如何为此目的在两端启动 netcat 或任何其他程序。
非常感谢您的帮助。谢谢你。
哪个更适合连接两台Linux机器?
我们使用的服务的 API 将拒绝请求,除非源 IP 先前已被列入白名单。他们只给了我们 3 个插槽,这是一个问题,因为我们有超过 3 台机器需要使用 API。
解决此问题的最常用技术是什么?
注意:我不想做任何违反 3rd-party API 的条款和条件的事情。我们正在使用ResellerClub,我联系他们要求更多插槽,但他们回答说:
我请求您将您的服务器路由到几组 IP。
因此这个问题。
想法:
我们的架构:我们使用 AWS 并在 ELB 后面运行的 VPC 中放置我们的实例。我们经常在事先不知道 IP 地址的情况下启动新实例。我们在所有机器上运行相同的软件。这些机器运行 CoreOS,我们的应用程序在 Docker 容器中运行。
我的设置如下所示:
+--------+ +----------+ +-----------+
| Laptop | <---> | Middle | <--> | Server |
+--------+ +----------+ +-----------+
Run Code Online (Sandbox Code Playgroud)
服务器在 TCP:127.0.0.1:8081 上运行 Web 服务器。所有的机器都在运行 SSH,我拥有一切的凭据。
在中间出现盒子之前,我的 SSH 配置曾经是这样写的:
Host server
Hostname server.internal.tld
User ubuntu
IdentityFile ~/.ssh/some_key.pem
Port 20022
LocalForward 8081 localhost:8081
ServerAliveInterval 60
KeepAlive yes
ServerAliveCountMax 1
Run Code Online (Sandbox Code Playgroud)
这让我可以通过浏览到浏览器中的页面localhost:8081。
是否有一行可以添加到我的 SSH 配置中以获得相同的结果,因为中间有一台我可以通过代理 SSH 的机器?这是以某种方式ProxyCommand使用的吗?这LocalForward条线还能用ProxyCommand吗?
我正在设置一个需要通过 SSH2 建立安全连接的服务器应用程序,例如客户端必须打开到服务器的 SSH2 连接才能访问特定应用程序:
% ssh -s -p5000 my.server.com app
Run Code Online (Sandbox Code Playgroud)
我想了解,此命令完成后究竟发生了什么?客户端/服务器如何知道它们必须通过 SSH 安全通道运行?这是否称为 ssh 隧道,或者它有不同的名称?
谢谢。
tunneling ×11
ssh ×7
ssh-tunnel ×3
security ×2
telnet ×2
cloud ×1
firewall ×1
gre ×1
ip-routing ×1
iproute2 ×1
nat ×1
netcat ×1
networking ×1
proxy ×1
putty ×1
sap ×1
shell ×1
throttling ×1
vnc ×1
windows ×1