我正在尝试将PostgreSQL数据库添加为IntelliJ IDEA Ultimate中的数据源。
我已经通过一个ssh隧道使用了数据源。但是现在数据库服务器位于防火墙之后,该防火墙仅接受来自管理服务器的ssh连接。访问数据库服务器的唯一方法是通过管理服务器。
因此,我(或IntelliJ)必须通过ssh连接到该服务器,然后使用另一个用户通过ssh隧道连接到数据库服务器。
一切都清楚了吗? :-D
问题是,IntelliJ仅提供配置一个ssh隧道的功能。但是在第一个隧道之后,我需要使用第二个隧道,以最终连接到数据库服务器... 有任何想法吗?
提前谢谢。
答案 0 :(得分:1)
我将使用OpenSSH或任何类似的工具创建一个local port forward,该工具将通过管理服务器将df_wilcox<-df1[df1$ks_AB<0.05,]
df_ttest_equal<-df1[df1$ks_AB>=0.05 & df1$var_AB>=0.05,]
df_ttest_unequal<-df1[df1$ks_AB>=0.05 & df1$var_AB<0.05,]
转发到wilcox_AB<-as.matrix(apply(df_wilcox,1,wilcox,grp1=grepl("^A",colnames(df_wilcox)),grp2=grepl("^B",colnames(df_wilcox))))
ttest_equal_AB<-as.matrix(apply(df_ttest_equal,1,ttest_equal,grp1=grepl("^A",colnames(df_ttest_equal)),grp2=grepl("^B",colnames(df_ttest_equal))))
ttest_unequal_AB<-as.matrix(apply(df_ttest_unequal,1,ttest_unequal,grp1=grepl("^A",colnames(df_ttest_unequal)),grp2=grepl("^B",colnames(df_ttest_unequal))))
p_value<-rbind(wilcox_AB,ttest_equal_AB,ttest_unequal_AB)
colnames(p_value)<-c("pvalue")
df<-merge(df1,p_value,by="row.names")
df
Row.names A1 A2 A3 A4 B1 B2 B3 B4 ks_AB var_AB pvalue
1 N1 1 2 4 12 33 17 77 69 0.02857143 0.01700168 0.02857143
2 N2 34 20 59 21 90 20 43 44 0.69937420 0.45132827 0.39648631
3 N3 11 16 23 24 19 12 55 98 0.77142857 0.01224175 0.25822839
4 N4 29 111 335 34 61 88 110 320 0.77142857 0.76109048 0.85703939
5 N5 51 58 45 39 55 87 55 89 0.21055163 0.19561742 0.06610608
,然后使用IntelliJ IDEA隧道配置到127.0.0.1:2222
就像处理单个隧道一样。
firewall:22
您可以配置External Tool来自动执行此过程。在Windows计算机上,我在Bitvise SSH Client方面具有丰富的经验,可以创建隧道/端口转发并自动启动它们。
答案 1 :(得分:0)
curl -sS http://127.0.0.1/health || exit 1
开箱即用地支持您的方案。诀窍是在ssh
文件中为管理服务器创建两个条目,一个为~/.ssh/config
,另一个为your-user
。然后使用special-user
将您的连接链接在一起。
因此,首先为本地服务器上要连接的管理服务器和用户设置一个ProxyJump
部分:
Host
然后,为您要登录的管理服务器上的用户设置一个Host mgmt
HostName management.server.com
User your-user
...
:
Host
在同一主机上,添加一条指令来告诉Host mgmt-special-user
HostName management.server.com
User special-user
为您的数据库创建隧道:
ssh
然后告诉 LocalForward <free-port-on-your-box> <db-ip-or-host>:<db-port>
,可以从第一个主机访问此主机:
ssh
您现在可以从本地计算机上 ProxyJump mgmt
。 ssh mgmt-special-user
将自动跳过ssh
主机,还将自动通过mgmt
延伸隧道并返回本地计算机。
mgmt
(ProxyJump
)已添加到OpenSSH 7.3(于2016年发布)中。