我创建了一个运行CentOS Linux 5.5和PostgreSQL 8.4的Amazon EC2 AMI.我希望能够从我的机器到实例创建一个SSH隧道,这样我就可以从我的开发机器(JDBC,Tomcat等)连接到PostgreSQL数据库.我还没有修改PostgreSQL配置.然而.我可以从命令行成功SSH到实例,并运行以下命令尝试创建我的隧道:
ssh -N -L2345:<My instance DNS>:5432 -i <keypair> root@<My instance DNS>
Run Code Online (Sandbox Code Playgroud)
我最初运行此命令时没有收到任何错误.但是,当我尝试使用psql在localhost:2345上打开连接时,连接失败.
有关为什么会发生这种情况的任何想法?
我正在尝试从使用RTSP over HTTP的Axis ip camera流式传输.我可以使普通的RTSP流工作,但是我找不到有关如何为流实际设置隧道模式的任何信息或文档.通过将control_transport设置为RTSP_MODE_TUNNEL,源代码支持它.我的问题很简单,如何使用以下代码执行此操作?
int ret = avformat_open_input(&pFormatCtx, [@"rtsp://ip/axis-media/media.amp" UTF8String], NULL, NULL);
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
pFormatCtx = avformat_alloc_context();
pFormatCtx->priv_data = malloc(sizeof(RTSPState));
RTSPState *rt = pFormatCtx->priv_data;
rt->control_transport = RTSP_MODE_TUNNEL;
int ret = avformat_open_input(&pFormatCtx, [@"rtsp://ip/axis-media/media.amp" UTF8String], NULL, NULL);
Run Code Online (Sandbox Code Playgroud)
但它只是忽略了它(它仍然继续使用RTP).我试过这个
int ret = avformat_open_input(&pFormatCtx, [@"rtsp://ip/axis-media/media.amp" UTF8String], NULL, NULL);
RTSPState *rt = pFormatCtx->priv_data;
rt->control_transport = RTSP_MODE_TUNNEL;
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?我认为这很简单,因为ENUM就在那里.
工作解决方案是
AVDictionary *opts = 0;
int ret = av_dict_set(&opts, "rtsp_transport", "http", 0);
ret = avformat_open_input(&pFormatCtx, [@"rtsp://ip:80/axis-media/media.amp" UTF8String], NULL, &opts);
av_dict_free(&opts);
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个tcp流'tunnel'(类似于默认情况下的SSH句柄),但有一个例外,我必须在流经时重写某些信息.
我确定那里有类似的东西,但我找不到它.我有三个主要问题:
编辑:重写的信息只是初始身份验证.
我正在尝试压缩端口 6999 上的所有流量并将其通过管道传输到端口 7000。我正在考虑为此创建一条隧道。我想使用英特尔的性能原始压缩库而不是 gzip 等。
任何想法或想法都非常感激。
提前谢谢了,
我在服务器上运行了多个 Kubernetes pod。其中一个 Pod 包含一个仅接受来自特定子网(即其他 Kubernetes Pod)的连接的数据库应用程序。
我试图从服务器本身连接到数据库应用程序,但连接被拒绝,因为服务器的 IP 不是允许的子网的一部分。
有没有办法创建一个简单的 pod,它接受来自服务器的连接并将它们转发到包含 DB 应用程序的 pod?
不幸的是,数据库应用程序无法重新配置为接受其他连接。
谢谢
我们正在尝试使用paramiko模块根据需要为任意服务器创建SSH隧道,以便查询远程数据库.我们尝试使用paramiko附带的forward.py演示,但最大的限制是,一旦启动套接字服务器,似乎没有一种简单的方法可以关闭SSH隧道和SSH连接.
我们的限制是我们无法从shell激活它,然后手动终止shell以停止列表器.我们需要打开SSH连接,隧道,通过隧道执行一些操作,关闭隧道,并关闭python中的SSH连接.
我已经看到了对server.shutdown()方法的引用,但目前尚不清楚如何正确实现它.
任何帮助将不胜感激...
该网站说:
Tunnlr使用SSH远程隧道.它将本地计算机上的端口安全地连接到公共服务器上的开放端口.启动Tunnlr客户端后,本地计算机上的Web服务器将通过您的特殊Tunnlr URL提供给世界其他地方.
有人可以详细介绍整个过程的工作原理吗?或者可能指向允许相同的东西的开源?
我正在尝试打开一个ssh连接,让一个服务器访问一个远程postgres数据库.所以我按照这个postgres 帮助页面中的说明进行操作.
当我运行命令时:
ssh -L 3333:foo.com:5432 joe@foo.com
Run Code Online (Sandbox Code Playgroud)
它以与常规ssh相同的方式自动连接到远程服务器.那时我的连接工作正常.我面临的问题是当我关闭终端时,连接丢失,所以我看了如何在后台运行相同的命令,但没有运气.这是我尝试过但实际上并不起作用:
nohup ssh -L 3333:foo.com:5432 joe@foo.com &
Run Code Online (Sandbox Code Playgroud)
如何在后台运行ssh -L隧道命令?
提前致谢.
我已经设置了从服务器 A 到服务器 B 的 ssh 密钥,我可以在没有密码的情况下登录到服务器 B。我正在尝试在 bash 脚本中设置反向 ssh 隧道。如果我这样做,从命令行
ssh -N -R 1234:localhost:22 user@mydomain.co.uk -p 22
Run Code Online (Sandbox Code Playgroud)
表单服务器 A 它按预期工作,即不需要密码,但是如果我在脚本中使用它
#!/bin/bash
/usr/bin/ssh -N -R 1234:localhost:22 user@mydomain.co.uk -p 22
Run Code Online (Sandbox Code Playgroud)
我被要求输入密码
user@mydomain.co.uk's password:
Run Code Online (Sandbox Code Playgroud)
我如何使它使用密钥?
我正在尝试编写一个设置一堆端口转发的脚本。这部分工作正常,我遇到的麻烦是弄清楚如何建立 SSH 隧道,然后(基本上)将其与我的本地分离而不关闭隧道?
#!/bin/bash
# Text (Foreground) Colors
norm_text='\e[0m'
black_text='\e[30m'
red_text='\e[31m'
green_text='\e[32m'
yellow_text='\e[33m'
blue_text='\e[34m'
magenta_text='\e[35m'
cyan_text='\e[36m'
lgray_text='\e[37m'
dgray_text='\e[90m'
lred_text='\e[91m'
lgreen_text='\e[92m'
lyellow_text='\e[93m'
lblue_text='\e[94m'
lmagenta_text='\e[95m'
lcyan_text='\e[96m'
white_text='\e[97m'
# Text (Background) Colors
norm_back='\e[49m'
black_back='\e[40m'
red_back='\e[41m'
green_back='\e[42m'
yellow_back='\e[43m'
blue_back='\e[44m'
magenta_back='\e[45m'
cyan_back='\e[46m'
lgray_back='\e[47m'
dgray_back='\e[100m'
lred_back='\e[101m'
lgreen_back='\e[102m'
lyellow_back='\e[103m'
lblue_back='\e[104m'
lmagenta_back='\e[105m'
lcyan_back='\e[106m'
white_back='\e[107m'
#-------------------------------
function menu() {
echo -e "\t==============="
echo -e "\t${yellow_text}Port Forwarding${norm_text}"
echo -e "\t==============="
echo -e "${green_text}"
echo -e "1.) Start Port Forwarding"
echo -e "2.) Stop Port Forwarding"
echo -e "${norm_text}" …Run Code Online (Sandbox Code Playgroud) tunnel ×10
ssh ×5
bash ×2
linux ×2
postgresql ×2
stream ×2
amazon-ec2 ×1
compression ×1
ffmpeg ×1
java ×1
key ×1
kubernetes ×1
networking ×1
paramiko ×1
python ×1
rtsp ×1
ruby ×1
security ×1