Questions tagged «ssh-tunnel»

SSH隧道利用SSH协议通过加密连接传输未加密的数据。

2
安全地连接到MySQL-MySQL的SSL,Stunnel和SSH隧道
我们有一个连接到MySQL服务器的PHP应用程序,并且希望保护Web和应用程序服务器与数据库之间的连接安全。 在高峰时间,Web服务器会与数据库建立数百个并发连接,并执行许多小的读写操作。我知道这不是最佳选择,并且正在努力与此并行地减少数据库连接的数量。 我们目前没有打开与数据库的持久连接,尽管我们打算将来我想独立于此实现。 从硬件角度来看-MySQL服务器和Web服务器一样都相当庞大(16核)。它们是专用服务器。 然后,我的问题围绕保护和加密与数据库服务器的连接的最有效方式。 到目前为止,我的研究表明,主要的性能开销是建立SSL连接-一旦连接了SSL,几乎不会降低性能。这是关于确保连接安全的每种方法的内容: MySQL SSL证书-与普通SSL一样工作。可以使用客户端证书来防止未经授权的连接。与我们现有的设置没有持久的联系。仍然必须让MySQL在防火墙的开放端口上侦听。 漏斗。设置端口到端口ssl隧道。不必重新配置MySQL。可以关闭普通的MySQL侦听端口,以防止恶意的MySQL连接尝试。不支持持久连接。性能未知。 SSH隧道。在客户端和服务器之间创建SSH隧道。不必重新配置MySQL。可以关闭普通的MySQL侦听端口,以防止恶意的MySQL连接尝试。支持持久连接,但是有时会丢失。性能未知。 就我所能达到的程度。我知道基准测试的局限性-以运行基准测试的经验,很难模拟现实世界的流量。我希望有人根据自己保护MySQL的经验提供一些建议? 谢谢

3
通过SSH隧道在多跳上复制数据
我们有两个主要的问题环境: 开发和质量保证 每个环境都有两个服务器: 跳箱 应用服务器 为了连接到应用程序服务器,必须先连接到跳转框,然后再通过SSH到应用程序服务器。 防火墙提供了一些规则: 您必须通过跳转框连接到应用程序服务器 应用程序服务器无法连接到任一跳转框 跳转框位于同一子网中,并且可以相互通信。 我们的问题 上有很多内容(670 GB)DEVELOPMENT APPLICATION SERVER,我们需要将此内容带到QA APPLICATION SERVER。 不能将这些数据复制到跳转框,因为它们缺少所需的空间量。 我进行了一些研究,了解到我们可以通过这些服务器建立一系列隧道,以便我们可以通过隧道将数据从一个应用程序服务器直接流到另一个服务器。但是,我们无法从应用程序服务器连接到跳转框的问题。 我们有什么选择吗?这将成为一个绝望的局面,而时间至关重要。我们没有时间下载数据并重新上传。通过服务器上的网络进行复制将很快进行,因为它是千兆连接。
14 linux  ssh  ssh-tunnel  tunnel 


3
如何设置SSH隧道转发SSH?
我有一台无法配置路由器的Ubuntu电脑。但是我想通过ssh访问该计算机。我认为ssh隧道技术是可行的,但我不知道该怎么做。我有另一台服务器想要设置隧道。怎么做?或者,也许您还有其他解决办法? 我试过了: ssh -N user@my_server -L 22/localhost/8090 但它说: bind: Address already in use channel_setup_fwd_listener: cannot listen to port: 22 Could not request local forwarding.

2
如何使用PuTTY启动反向隧道?
我正在尝试使用Putty在服务器和笔记本电脑之间建立隧道。问题是,由于笔记本电脑没有公共IP地址,因此我必须进行反向连接。 ASCII图稿: SERVER(PORT:6000) ----------> LAPTOP(PORT:7000) 但是,由于笔记本电脑没有公共IP地址,因此我必须: SERVER(PORT:6000) <---------- LAPTOP(PORT:7000) 但是,所有来自的数据都将从服务器传输到笔记本电脑。
13 ssh-tunnel  putty 

5
许多服务器的SSH访问网关
通过Ansible管理3台设备,目前管理着90多台服务器。一切工作正常,但是现在存在一个巨大的安全问题。每个开发人员都使用自己的本地ssh密钥来直接访问服务器。每个开发人员都使用一台笔记本电脑,并且每台笔记本电脑都可能受到威胁,从而使整个产品服务器网络容易受到攻击。 我正在寻找一种集中管理访问权限的解决方案,从而阻止任何给定密钥的访问。与将密钥添加到bitbucket或github的方式没什么不同。 我想尽办法,假设解决方案是从一台机器(网关)到所需产品服务器的隧道...在通过网关的同时,请求将获取一个新密钥并用于获取对产品的访问权限服务器。结果是,只要拒绝访问网关,我们就可以在几秒钟内快速有效地杀死任何开发人员。 这是好的逻辑吗?有没有人看到解决这个问题的解决方案?

3
通过SSH隧道连接时MySQL访问被拒绝错误
几个月以来,我一直在通过SSH隧道连接到在本地测试服务器上运行的MySQL实例,而没有任何问题。但是突然之间,我没有想到任何变化,服务器已开始拒绝来自Sequel Pro的登录尝试,并出现以下错误: 由于访问被拒绝,因此无法连接到主机127.0.0.1。 仔细检查您的用户名和密码,并确保允许从您当前的位置进行访问。 MySQL说:拒绝用户'root'@'localhost'的访问(使用密码:是) 通过SSH(而不是通过SSH隧道)直接连接到服务器时,我可以从终端登录。这个问题不仅是Sequel Pro的问题,还是我自己的问题,通过MySQL Workbench连接时,我和办公室中的其他人都遇到相同的错误。我mysqladmin只是出于理智的考虑重设了密码,这绝对不是问题。 当我开始对其进行更多研究时,我注意到该错误将服务器报告为“ localhost”,而不是我在Sequel Pro中输入的“ 127.0.0.1”。一位朋友建议说这可能只是错误的错误处理,但鉴于localhost与MySQL中的127.0.0.1之间的显着差异,这似乎很奇怪。 为了解决隧道问题,我授予对root @%的访问权限,以便可以直接连接。在大多数情况下,这是可行的,我可以查看表数据,创建新数据库等。唯一的问题是,当我创建用户时遇到错误: 用户'root'@'%'的访问被拒绝(使用密码:是) 奇怪的是,实际上是创建了用户,我认为这只是授予的问题。同样,从终端我以root身份登录时可以执行任何操作。 谁能帮助我们弄清为什么隧道连接和(可能)授权命令会收到拒绝访问错误? 作为参考,MySQ是版本5.6.16,其中大多数是默认设置,可通过Homebrew在MAC OS X Server计算机上安装。 更新资料 以下是当前被授予根访问权限的主机列表: mysql> select host,user from mysql.user where user='root'; +----------------+------+ | host | user | +----------------+------+ | % | root | | 127.0.0.1 | root | | ::1 | …

6
反向SSH隧道:如何将端口号发送到服务器?
我有两台计算机,客户端和服务器。 客户端(位于公司防火墙后面)使用以下命令打开到服务器的反向SSH隧道,该服务器具有可公共访问的IP地址: ssh -nNT -R0:localhost:2222 insecure@server.example.com 在OpenSSH 5.3+中,紧随其后的0发生是-R指“选择可用端口”,而不是显式调用它。我这样做的原因是因为我不想选择已经使用的端口。实际上,实际上有许多客户需要建立类似的隧道。 此时的问题是服务器不知道哪个客户端是哪个客户端。如果我们想通过本地主机连接回这些客户端之一,那么我们如何知道哪个端口指向哪个客户端? 我知道以上述方式使用ssh会将端口号报告给命令行。但是,我也想使用autossh使会话保持活动状态。autossh大概通过fork / exec运行其子进程,因此实际ssh命令的输出在以太中丢失。 此外,我想不出任何其他方式来从Client获取远程端口。因此,我想知道是否有办法确定服务器上的此端口。 我的一个想法是以某种方式使用/ etc / sshrc,它应该是为每个连接运行的脚本。但是,我不知道在这里如何获得相关信息(也许是处理该连接的特定sshd进程的PID?)。 谢谢!
12 ssh  ssh-tunnel 

3
从远程SSH会话SSH返回本地计算机
我正在尝试使用SSH做反常的事情(无论如何对我来说),但我无法使其正常工作,希望您能提供帮助。 我想使用SSH从Mac建立与远程服务器的连接。到目前为止,一切都很好。现在比较棘手的一点是,与远程服务器的连接已建立,我想启动从远程服务器BACK到本地计算机的连接。我知道,疯了。基本上,我需要跳过这些箍以能够浏览远程服务器,然后将文件信息发送回我的本地计算机,以便可以由本地计算机上的应用程序处理。希望这是有道理的! 现在,如果我登录到远程服务器后就通过SSH SSH回到本地计算机,则终端将坐在那里旋转,即使使用-v也不会出错。 我试图通过查看$ SSH_CLIENT变量的输出来发现应该调用的位置,但是我处于标准的普通Internet连接(无静态ip地址)上,我认为这可能是导致问题的原因。 我已经建立的东西:我在Mac(OS X 10.6.4)上,并且在系统偏好设置/共享中启用了远程登录。如果我尝试从远程服务器通过SSH连接到另一台服务器(而不是本地计算机),则可以毫无问题地建立连接。 因此,以上事实使我认为我很清楚本地和远程计算机上的防火墙等。 我确定我肯定会在这里遗漏一些明显的东西,但是对于我一生来说,我无法解决。 任何帮助,链接或正确方向的一般操作将不胜感激!
12 ssh  ssh-tunnel 

2
如何使用端口隧道通过网络堡垒连接到私有数据库实例?
我有一个可在以下位置公开访问的网络堡垒,example.compute-1.amazonaws.com以及一个在以下位置的私有postgres数据库实例:postgres.example.us-east-1.rds.amazonaws.com:5432 我可以使用以下方法进入堡垒 $ ssh -i key.pem ec2-user@example.compute-1.amazonaws.com 然后,一旦进入堡垒,我将使用以下命令创建一个ssh隧道: $ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 ec2-user@example.compute-1.amazonaws.com 然后,我可以通过使用本地主机从堡垒连接到数据库来验证隧道是否正常工作: $ psql -p 5432 -h localhost -U postgres 但是,我无法远程连接到数据库(没有在堡垒中)。 $ psql -p 5432 -h example.compute-1.amazonaws.com -U postgres psql: could not connect to server: Connection refused Is the server running on host "example.compute-1.amazonaws.com" () and …

3
后台的autossh无法正常工作
我已经通过autossh建立了一条隧道。 这有效: autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com 我想在后台运行autossh。使用该-f选项似乎很容易。 但是,这不起作用: autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com Autossh在后台正常运行,但是ssh连接似乎每次都失败。在/ var / syslog中,我看到以下多次出现: autossh[3420]: ssh exited with error status 255; restarting ssh 我究竟做错了什么?一个大胆的猜测是它与通过密钥文件进行身份验证有关。我该如何调试(将-v添加到ssh选项似乎不在任何地方记录)。 编辑: 我使用-y选项得到了一些ssh日志 /usr/bin/ssh[3484]: debug1: Next authentication method: publickey /usr/bin/ssh[3484]: debug1: Trying private key: …
12 ssh  ssh-tunnel 

1
我可以将VSFTPD配置为仅侦听localhost吗?
我有一个需要FTP且无法执行SFTP的旧版应用程序。 我的解决方案是: 使用VSFTPD将FTP服务器放置到位 配置防火墙以仅接受来自本地主机的端口21连接 使用旧版应用程序从客户端设置SSH连接 通过SSH隧道传输FTP 我想知道是否可以将VSFTPD配置为忽略除防火墙之外的本地主机以外的任何连接。皮带和护腕都。
11 ssh  ftp  sftp  ssh-tunnel  vsftpd 

5
临时SSH隧道,用于备份
我想编写一个shell脚本(当前使用bash)来自动备份远程服务器上几个MySQL模式的内容。远程服务器被锁定为仅允许SSH访问,因此我必须在mysqldump针对各种模式运行之前创建SSH隧道。 我可以毫无问题地创建隧道,但是我希望能够在数据库转储完成后自动关闭它。 目前,我的脚本正在执行此操作: /usr/bin/ssh -T -f -L 4444:127.0.0.1:3306 -l remoteuser 208.77.188.166 sleep 600 /usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword db1 | gzip > /root/backups/snapshot/db1.sql.gz /usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword db2 | gzip > /root/backups/snapshot/db2.sql.gz /usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword …

4
ssh隧道错误“ ssh_exchange_identification:连接被远程主机关闭”
我正在尝试使用一条从办公室计算机到家用计算机的ssh隧道,并且在尝试使用它时出现错误。 我正在做的是像这样启动一个shell: ssh -gL 12345:my.home.domain:22 my.home.domain 这给了我适当的外壳,没问题。然后,我通常要做的是通过此办公计算机将SSH SSH到我的家用计算机,如下所示: ssh -p 12345 127.0.0.1 直到上周,当我在家用计算机上设置新系统(从Ubuntu切换到Debian)时,这一直对我有用。现在我得到一个错误。我仍然可以打开我的初始ssh连接,但是当我尝试使用该隧道时,(在办公计算机上)出现此错误: ssh_exchange_identification: Connection closed by remote host 另外,当发生这种情况时,我已经建立了隧道的开放式外壳会把这条线吐出来: channel 3: open failed: connect failed: Connection timed out 在这一点上,我很茫然。如果需要更多信息,我将很乐意发布。 =============进一步============== 进一步摆弄之后,我发现尝试在各个端口上进行telnet连接时,服务器(即我的家用计算机)得到了不同的响应。如果我尝试: telnet my.home.domain 22 我得到这个: Trying <my ip address>... Connected to <my domain>. Escape character is '^]'. SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze2 …
10 ssh-tunnel 

6
通过中介服务器的远程桌面的SSH隧道第二部分
我之前曾问过如何使用中介服务器配置2个SSH隧道,以便通过它们运行远程桌面,但我设法使其正常工作。现在,我正在尝试使用相同的机器执行相同的操作,但是顺序相反。设置如下: 专用网络中的Windows 7 PC,位于防火墙后面。 公共访问Linux服务器,可以访问PC。 我希望在家中使用Windows 7笔记本电脑从PC上进行“远程桌面”。 我在笔记本电脑上使用Putty创建了从它到Linux服务器的反向隧道R60666 localhost:3389。 我在PC上使用Putty在从PC到Linux服务器之间创建一条常规隧道:L60666 localhost:60666。 我通过SSH连接到Linux服务器,并运行telnet localhost 60666,它似乎产生了预期的输出,如我在此处收到的调试提示中所述。 我尝试将远程桌面从PC连接到笔记本电脑:localhost:60666。它询问我的用户名和密码,单击“确定”,它在笔记本电脑上锁定了当前会话(因此,我在笔记本电脑上而不是台式机上看到了欢迎屏幕),在“远程桌面”屏幕上显示了“欢迎”消息,然后它只是变黑了。它不会断开连接,不会提供任何错误,并且我无法在“远程桌面”屏幕中执行任何操作。我在Windows XP笔记本电脑上尝试了相同的设置,但遇到了相同的症状。我也尝试使用不同于60666的端口,但没有任何变化。有人知道我在做什么错吗? 更新:正如@jwinders指出的那样,我无法telnet PC 3389直接从Linux服务器运行。由于Windows防火墙有一个规则允许端口3389上的所有连接,因此我不知道是什么阻止了它。幸运的是,我能够创建从Linux机器到PC的SSH隧道ssh 3389:localhost:3389 'domain\user'@PC。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.