我遇到了这个令人敬畏的库xterm.js,它也是Visual Studio Code终端的基础.我有一个非常普遍的问题.
我想通过基于Web的终端(在网络外,可能在aws服务器上)访问本地网络上的机器(ssh到机器).我能够在本地网络中成功完成此操作,但我无法通过Internet - >本地网络得出结论.
举个例子 - An aws server running the application on ip 54.123.11.98 which has a GUI with a button to open terminal. I want to open terminal of a local machine which is in a local network somewhere behind some public ip on local ip 192.168.1.7.
上面的例子可以使用某种解决方案来实现,我可以使用xterm.js,这样我就不必去构建基于Web的终端了吗?在以这种方式暴露终端时,我应该记住哪些主要的安全问题?
我在考虑在AWS和本地网络ip之间使用固定的中间服务器,并使用某种反向ssh隧道进程来做这个但我不确定这是否是正确的方法还是可以有更简单/更好的方式为达到这个.
我知道数字海洋,谷歌云,他们都这样做但他们必须连接到具有公共IP的计算机,而我在本地网络中有一台机器.我真的不想配置路由器来进行任何类型的设置.
我在两台服务器A和B之间建立了SSH隧道.B有MySQL服务器,这有效:
mysql -h localhost -P 3306 -u user -p
Run Code Online (Sandbox Code Playgroud)
虽然这不是:
mysql -h 127.0.0.1 -P 3306 -u user -p
Run Code Online (Sandbox Code Playgroud)
虽然my.cnf有以下几行:
bind-address = 127.0.0.1
# Next addr differs slightly, but anyway
bind-address = 99.99.99.99
Run Code Online (Sandbox Code Playgroud)
现在关于隧道.它连接以下内容:(A) localhost(9989) -> (B) localhost(3306)
但是当(在A上,端口转发)我这样做
mysql -v -h 127.0.0.1 -P 9989 -u user userdb -p
Run Code Online (Sandbox Code Playgroud)
我明白了 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
而当我这样做
mysql -v -h localhost -P …Run Code Online (Sandbox Code Playgroud) ssh ssh-tunnel visual-studio-code vscode-remote remote-tunnel
是否可以通过SSH隧道执行以下操作...
Host-1是我无法直接访问的设备.Host-1设置为通过cron自动建立与远程服务器的SSH连接.在Host-1与远程服务器建立SSH连接的任何时候,我希望登录远程服务器以便通过SSH对Host-1进行维护.
我正在寻找一个如果可能的话如何工作的例子.
要连接到我办公室的电脑,我需要运行两次ssh.首先连接到host-1,然后从host-1连接到host-2,每个都有不同的凭据.但是,Pycharm中的配置菜单只接受一个ssh隧道.
有没有办法设置多跳ssh从本地访问主机上的解释器和数据文件?
我知道这个问题之前已经被问过(就像这里),但我仍然找不到解决方案,而且这些帖子已经很旧了。
因此,我可以使用 ssh 连接连接到远程数据库,然后使用如下命令行:
// Putty SSH Connection
host: ssh.strato.de
port: 22
username: xxxxxxx
password: xxxxxxx
// connect to mysql with terminal
mysql -h rdbms -u xxxxxxx -p xxxxxxxx
Run Code Online (Sandbox Code Playgroud)
如果我在 DBeaver 中尝试使用 ssh-tunneling 进行相同的操作,则会出现连接错误
ssh 隧道本身似乎可以工作。如果我使用与上面相同的凭据并按“测试隧道配置”,我会收到一条成功消息。
我尝试了其他几个端口和主机选项(localhost、rdbms.strato.de 等),这是我通过 mysql 找到的show variables; show processlist; show user();,但它们都不起作用。
Strato 支持告诉我,我只能使用 phpmyadmin 内部连接到数据库,或者使用 putty 和 mysql 远程连接到数据库,但既然最后一种方法有效,那么 ssh 隧道不应该也有效吗?
我需要访问我实验室远程服务器上的MySQL数据库.只有登录到远程网络上的网关服务器后,才能访问服务器:
local server => gateway server => MySQL server.
Run Code Online (Sandbox Code Playgroud)
我可以使用端口24222 ssh到网关.
我正在使用PERL DBI模块.这是我在实验室时用来连接的东西:
my $host="1.2.3.4";
my $database="dbname";
my $user="user";
my $pw="pass";
my $table="table";
Run Code Online (Sandbox Code Playgroud)
我想我必须通过网关服务器建立到数据库服务器的隧道.我该怎么做呢?如果MySQL数据库在网关上,我可以像这样打开一个隧道:
$ ssh -f user@gateway -L 3307:127.0.0.1:3306 -N
Run Code Online (Sandbox Code Playgroud)
如何修改它以通过网关上的开放端口24222隧道传输到1.2.3.4上的MySQL服务器?
更新:
使用@ anttir的答案我得到了如下工作.
设置隧道:
$ ssh -fN -p 24222 user1@11.12.13.14 -L 3307:1.2.3.4:3306
Run Code Online (Sandbox Code Playgroud)设置脚本变量:
my $host="127.0.0.1";
my $port = 3307;
Run Code Online (Sandbox Code Playgroud)我在一所大学拥有两台电脑.它们都在某种防火墙等背后,不允许我通过网络直接连接它们.他们都可以SSH公共计算机,但我无法弄清楚如何从一个到另一个.我还经营一个小网站.我的问题是,我可以使用我的网站的公共地址以某种方式连接我的两台计算机,而没有所有信息流过我的网站并占用我所有的带宽吗?理想情况下,我想在两台计算机之间创建一个ssh隧道.
我已经尝试过Hamachi,它不再适用于macs了,我想更多地控制连接.
我正在尝试设置具有远程端口转发的 ssh 隧道。这个想法是让 VPS 作为 ssh 进入远程部署系统(目前包含 Raspberry Pi)的一种手段。一切似乎都正常,但在尝试将所有参数移至 ~/.ssh/config 文件时遇到问题。起作用的是主机名、用户、端口和身份文件的设置。但是设置 RemoteForward 参数似乎不起作用。
以下作品:
ssh -R 5555:localhost:22 ssh-tunnel
Run Code Online (Sandbox Code Playgroud)
然而,当在配置文件中使用以下行时;
Host ssh-tunnel
...
RemoteForward 5555 localhost:22
Run Code Online (Sandbox Code Playgroud)
以下命令返回消息“错误的远程转发规范‘ssh-tunnel’”
ssh -R ssh-tunnel
Run Code Online (Sandbox Code Playgroud) 我可以访问可以访问GIT服务器的SSH帐户,并且能够在此SSH登录中克隆/推送/拉取存储库.但是,我无法从其他地方访问此回购.
在我使用的SSH帐户上,
git clone git@gitserver:proj/myrepo.git
Run Code Online (Sandbox Code Playgroud)
克隆回购.
我尝试使用其他机器设置到git服务器的ssh隧道,
ssh -L 3333:gitserver:22 userid@sshserver
git clone ssh://localhost:3333/proj/repo.git
Run Code Online (Sandbox Code Playgroud)
但是我不断收到用户'git'的密码提示.我在这里做错了什么想法?
ssh-tunnel ×10
ssh ×7
linux ×3
mysql ×3
dbeaver ×1
git ×1
networking ×1
pycharm ×1
python ×1
ssh-config ×1
xtermjs ×1