跳转主机是网络上的专用计算机,通常用于管理单独 DMZ 中的设备。因此,我正在寻找为在Windows上运行的目标实现此目的的正确方法。
我正在考虑通过一些 SSH 客户端(例如 Putty)使用到目标主机上Cygwin 的隧道。 SSHD
最好的做法是什么?微软有提供解决方案吗?
我有 3 台机器,它们连接成一条链,A、B、C。
A-->B-->C
Run Code Online (Sandbox Code Playgroud)
A 是我的机器,B 是服务器,C 是其他机器,上面有一些服务和 Web 服务器。由于一些问题,我需要从A访问C上的Web服务器(端口80),我可以使用ssh从A登录到B,然后从B登录到C,但此时控制台太少了。我需要网络浏览器,并且使用带选项的 ssh-X不起作用(Firefox 启动时 dbus 出现一些问题)。
我使用经典命令在 B 上进行端口转发,为 ssh 转发 22 端口:
ssh -L 2222:localhostB:22 user@ipC
Run Code Online (Sandbox Code Playgroud)
但使用相同的方法转发端口 80 不起作用:
ssh -L 8888:localhostB:80 user@ipC
Run Code Online (Sandbox Code Playgroud)
我知道还有其他一些转发可以使其工作,但我不明白如何以及什么。
我需要这样的东西:
A --> B (frd from B:8888 to C:80) --> C (port 80 web server)
Run Code Online (Sandbox Code Playgroud)
因此,当我输入 ipB:8888 时,我将被转发到 C:80。
任何解释必须做什么的帮助或带有命令的脚本将不胜感激。我从一篇博客中注意到必须完成两次ssh -L转发,但我不明白为什么。
我可以直接Host A ( 10.100.64.112)从 my访问,HomePC 但不能直接访问Host B (172.88.3.31). 要访问Host B,我需要先 sshHost A到Host B.
为了直接访问Host B,我尝试使用以下命令使用本地端口转发来设置 SSH 隧道Host A
Host A # ssh bzaman@10.100.64.112 -L 4420:172.88.3.31:22
Run Code Online (Sandbox Code Playgroud)
现在我尝试验证隧道是否正常工作
Host A # ssh 10.100.64.112 -p 4420
bzaman@10.100.64.1121's password:
Run Code Online (Sandbox Code Playgroud)
它工作正常,我需要 Host B
但是如果我从我的 直接访问隧道HOmePC,它不起作用
$ ssh 10.100.64.112 -p 4122
ssh: connect to host 10.100.64.112 port 4122: Connection refused
Run Code Online (Sandbox Code Playgroud)
检查时netstat,它显示以下内容
$ sudo netstat -an | grep 4420 …Run Code Online (Sandbox Code Playgroud) 我一直在 Windows 上使用 Navicat 来管理我的 MySQL/Percona 实例。
几天前,我购买了一台新服务器并安装了 MariaDB 10.3.9。
当我在 putty 会话中通过 SSH 连接到盒子时,我可以很好地连接到它。 mysql -u root -p完美地呈现出来。
但出于某种原因,Navicat 会抛出错误access denied for user 'root'@'::1' (using password: YES)
Navicat 设置与我之前一直使用的相同:
主机名:localhost 端口:3306 Mysql用户名:root Mysql密码:[root的mysql密码]
使用 SSH 隧道:是 IP 地址:[我的服务器 ip] SSH 用户名:[我的名字] SSH 密码:[我的 ssh 密码]
我不知道为什么当我手动执行它时它可以通过 SSH 工作,但当 Navicat 执行它时却不行,尽管它大概在做大致相同的事情。这是'::1'关于什么的,这是否指出了问题?
谢谢!
我有一个运行一些 LXD 容器的 ubuntu 服务器 - 这些容器都没有公共 IP,但通过 HTTP 反向代理暴露在网络上。
这些容器属于不同的个人,我希望能够允许他们通过 SSH 登录到容器。我不想让用户能够在自己的容器以外的容器上尝试密码,并且我不希望用户必须自己配置 SSH 隧道/网关。
所以我想知道是否有一种方法可以设置 SSH 网关,以便根据用户密钥或用户名,通过网关自动为他们进行代理。
这篇旧文章 - http://quark.humbug.org.au/publications/ssh/ssh-tricks.html - 似乎暗示这样的事情是可能的:“SSH 网关的工作原理是强制 ssh 到另一台主机作为基于 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) 在即将到来的项目中,我有两个服务器设置:一个是应用程序服务器,另一个是已经存在的运行带有我需要访问的数据库的 mysql 服务器。我联系了 mysql 服务器的服务器管理员,我可以访问远程 mysql 数据库的唯一方法是通过“SSH 隧道”。我以前从未这样做过,也从未听说过,所以我的问题是,是否有任何缺点,例如性能方面?与直接在其默认端口上访问 mysql 服务器相比,它是不是相当慢?
我需要编写一个脚本来备份旧服务器上的数据库并将它们移动到我的新服务器上。我有大约 150 个,因此需要将其自动化。我发现了这个:
$ mysqldump -u username -p'password' db-name | ssh user@remote.box.com mysql -u username -p'password' db-name
Run Code Online (Sandbox Code Playgroud)
这将允许我这样做,但是,它需要我在每次运行时指定一个密码。如何使 ssh 命令采用密码参数?我试过了,ssh --help但什么也看不到。
如果这个命令不能接受密码,我可以用另一种方式吗?
我正在使用最新更新在 fedora core 15 上运行 yum 安装的 autossh 1.4a。
这有效:
ssh -L 9000:valid.fqdn:80 another_valid_fqdn
Run Code Online (Sandbox Code Playgroud)
但是,autossh 失败并打印其使用消息:
ssh -L 9000:valid.fqdn:80 another_valid_fqdn
usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]
-M specifies monitor port. May be overridden by environment
variable AUTOSSH_PORT. 0 turns monitoring loop off.
Alternatively, a port for an echo service on the remote
machine may be specified. (Normally port 7.)
-f run in background (autossh handles this, and does not
pass it to ssh.)
-V print autossh version and exit. …Run Code Online (Sandbox Code Playgroud) 我已经使用 putty SSH 客户端设置了一个 SMB SSH 隧道,以直接从我的 Windows 机器上的服务器编辑我的网页(也是因为我的 virtuazoo 服务器不允许 NFS)。
即使将河豚设置为加密算法,它也会变得非常慢(2-3 KB/s)
任何提高性能的想法?
ssh-tunnel ×10
ssh ×7
linux ×3
mysql ×2
tunneling ×2
fedora ×1
networking ×1
performance ×1
rhel6 ×1
security ×1
windows ×1