Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取传入ssh转发连接端口号_Ssh_Portforwarding_Sshd - Fatal编程技术网

获取传入ssh转发连接端口号

获取传入ssh转发连接端口号,ssh,portforwarding,sshd,Ssh,Portforwarding,Sshd,我有一个服务器正在将连接转发到一组其他服务器 在此,我转发以下所有输入连接: my.tunnel.com:33199至my.server2.com:52222 和 my.tunnel.com:33200至my.server3.com:52222 。。直到 my.tunnel.com:XXXXX至my.serverN.com:52222 我在每台服务器上(tunnel my.tunnel.com除外)通过以下命令启动此操作: ssh -o StrictHostKeyChecking=no -l r

我有一个服务器正在将连接转发到一组其他服务器

在此,我转发以下所有输入连接:

my.tunnel.com:33199至my.server2.com:52222

my.tunnel.com:33200至my.server3.com:52222

。。直到

my.tunnel.com:XXXXX至my.serverN.com:52222

我在每台服务器上(tunnel my.tunnel.com除外)通过以下命令启动此操作:

ssh -o StrictHostKeyChecking=no -l root -i /etc/ssh/id_rsa -R *:33199:127.0.0.1:22 -p 443 my.tunnel.com 0 33199

...

ssh -o StrictHostKeyChecking=no -l root -i /etc/ssh/id_rsa -R *:XXXXX:127.0.0.1:22 -p 443 my.tunnel.com 0 XXXXX
好吧,这个很好用

但是

在启动这些命令时,我想在my.tunnel.com上检查my.server2.com是否希望my.tunnel.com完全从端口33199转发,而不是从另一个端口转发!现在我想得到这个端口号

请让我知道,如果问题仍然没有充分清楚地暴露出来

谢谢

获取转发的端口 环境变量中没有此类信息,因此您必须自己传递:

ssh -R 33199:127.0.0.1:22 my.tunnel.com "export MY_FWD_PORT=33199; my_command"
(my_命令是要在服务器上运行的脚本)。有关传递变量的更多信息-

获取源端口 查看中的环境变量
SSH\u CONNECTION
。其含义是:

source_ip source_port dest_ip dest_port
您可能需要
源代码\u端口
,因此只需获取它的第二部分:

echo $SSH_CONNECTION | awk '{ print $2 }'


现在还不清楚你在问什么,你的意思是什么。你应该包括一些例子。@Tomas,我已经用一个例子更新了这个问题好了,现在更清楚了。我已经更新了我的答案。非常感谢。很遗憾,这些信息在env变量中不可用。事实上,我不太信任这些服务器,所以能够在隧道端进行这种更改是很酷的。谢谢你的出口提示!
echo $SSH_CONNECTION | cut -d" " -f 2