标签: ssh

pgAdmin 4:如何在 Windows 中通过 SSH 隧道/接口建立连接

我安装了最新的 pgAdmin 4 (v2.1),但我发现(相关线程),目前,通过 SSH 隧道建立连接的唯一方法是使用另一个外部进程,pgAdmin 论坛中的一个示例说:

我设置了一个隧道,如下所示:

ssh -f dpage(at)hostname(dot)enterprisedb(dot)com -L 5999: hostname.enterprisedb.com:5432 -N
Run Code Online (Sandbox Code Playgroud)

(...) 我在 Mac 上运行,但同样的程序应该可以在 Linux 上运行。在 Windows 上,Putty iirc 中有一个隧道应用程序,但我不知道如何使用它。

我找到了一个简单的PuTTY 教程来使用 SSH Tunnel 建立连接

连接已建立,但看起来,当我尝试通过 pgAdmin 连接时,它失败或被拒绝(使用127.0.0.1:3306127.0.0.1:5432作为隧道的目的地)。为什么?

postgresql windows interface ssh pgadmin-4

9
推荐指数
2
解决办法
4万
查看次数

DBeaver:通过 SSH 连接到 PostgreSQL 数据库服务器:无法初始化隧道,身份验证失败

我正在尝试使用 DBeaver 通过 SSH 连接到 PostgreSQL 数据库服务器:

can't initialize tunnel
cannot establish tunnel
com.jcraft.jsch.JSchException: auth fail
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我确信 SSH 服务器工作正常。我设法使用 pgAdmin 3 和 RazorSQL 通过同一台 SSH 服务器连接到同一台 PostgreSQL 数据库服务器。我检查了IP,用户名和密码,它们是正确的。我禁用了所有防火墙。可能是什么问题?

我的设置:

在此处输入图片说明

在此处输入图片说明

我使用 DBeaver 3.7.3 x64 便携版和 Windows 7 SP1 x64 Ultimate。

错误日志窗口不会记录错误,所以我没有更多信息。

postgresql ssh dbeaver

8
推荐指数
1
解决办法
3万
查看次数

如果我的 ssh 会话超时,mysql db 导入会被中断吗?

我有一个大型(几 GB)mysql 数据库,我打算通过它导入

mysql -u root -p mydb < mydb.sql
Run Code Online (Sandbox Code Playgroud)

在 SSH 会话中。

如果我的 SSH 连接断开会发生什么?

运行类似的东西是否更安全

nohup mysql -u root -p mydb < mydb.sql
Run Code Online (Sandbox Code Playgroud)

还是mysql不在乎?

使用以下

  • MySQL 5.1.45
  • CentOS 5.x

mysql mysql-5 linux mysql-5.1 ssh

6
推荐指数
1
解决办法
1941
查看次数

pg_ctl 挂在 ssh 上

我正在设计一个过程来测试我的 postgresql 10.8 备份,方法是将它们恢复到一次性虚拟机中的随机时间点。不过,我一直无法完全自动化该过程。我在官方文档的第 8 步(第 25.3.4 节)被阻止

  1. 启动服务器。

执行pg_ctl startover ssh 时,命令会挂起,直到被杀死。如果我直接通过 ssh 连接到 VM 并执行pg_ctl start,则命令会按预期快速返回。

2012 年的这个帖子似乎描述了一个类似的场景。在我的情况,不过Postgres的过程即使当它是挂呼叫会话被杀死成功启动(可能是9.0.5和10.8之间虽然有所改善?)。

这个 github 问题似乎相关,但遗憾的是,通过用一种我不知道的语言进行了长时间的重写“解决了”,并最终得出结论,它是pg_ctl二进制文件中的一个错误。

大问题

如何自动执行第 8 步,以便我可以继续对备份媒体进行后续验证测试?

这是我需要破解的二进制文件中的一个突出错误吗?或者我错过了一个明智的实施?

restore virtualisation ssh postgresql-10

6
推荐指数
1
解决办法
455
查看次数

通过 ssh 隧道设置 MongoDB 副本

我正在尝试归档这样的东西 在此输入图像描述

dc1.com 上的 MongoDB 实例目前是独立的,On-Site 定期通过 ssh 隧道通过 mongodump 提取备份。

我现在想创建两个实例,一个在现场,一个在第二个数据中心,并使这三个实例成为副本集,以便备份几乎是即时的。这样,我就可以拥有一个现场备份,并在第二个数据中心中拥有一个备份,该备份始终是最新的。

如果 dc1.com 中的主 MongoDB 实例发生故障,那么就这样,无法提供任何数据,然后需要手动修复此问题,因为现场实例和辅助数据中心中的实例不应接管。这两个也不应该被质疑。他们只是作为备份。

我的问题是,当我将 --replSet 添加到主数据库,然后添加 rs.initialize() 时,该实例在某种程度上不会被识别为绑定到 localhost,而是绑定到 172.17.0.1,这是 docker 接口,我需要绑定以便容器可以连接到 MongoDB。如果我随后尝试通过rs.add("localhost:2001")dc2.com 上的实例添加成员,则会收到有关无法混合本地主机和非本地主机数据库的错误。主实例被识别为 172.17.0.1,而不是 localhost。

“副本集配置中的所有主机名都必须是本地主机引用,或者都必须是本地主机引用;找到二分之一”

然后,我使用/sf/ask/2019044751/来发出 ars.initiate({_id:"rs0", members: [{"_id":1, "host":"127.0.0.1:1000"}]})强制将 dc1.com 上的副本集初始化绑定到本地主机。但是当我尝试通过添加成员时,rs.add("localhost:2001")我仍然无法做到这一点。这不再是主机名错误,而是另一个错误,我不太记得了,因为我厌倦了尝试,不得不回滚所有内容。就像连接被拒绝一样。当我执行 a 时,mongo --port 2001我会在收到有关“isMaster”相关内容的警告后断开连接。

是否可以创建这种设置?我想做的就是避免在 MongoDB 上使用 TLS 并将备份绑定到全局可访问的接口(现场实例将位于防火墙后面,因此 0.0.0.0:1002 将无法公开访问)

replication mongodb ssh

5
推荐指数
1
解决办法
4742
查看次数