Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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
通过虚拟机的终端打开azure虚拟机的端口_Azure_Server_Virtual Machine_Port_Inbound Security Rule - Fatal编程技术网

通过虚拟机的终端打开azure虚拟机的端口

通过虚拟机的终端打开azure虚拟机的端口,azure,server,virtual-machine,port,inbound-security-rule,Azure,Server,Virtual Machine,Port,Inbound Security Rule,我有一个虚拟机在azure上运行。我想打开那个虚拟机的一个端口 目前我没有访问azure门户的权限。但是我可以通过ssh访问VM。我有所有的权限。可以向外部打开入站/出站端口吗?一般来说-不可以。但如果您的VM具有托管标识,您可以调用托管标识端点以获取令牌,并使用rest api调用该令牌在Azure中执行操作,但这必须预配置,以便您的托管标识具有执行这些操作的权限。默认情况下允许出站流量 答案(入站)实际上取决于是否创建了NSG并将其连接到VM NIC。除非在创建过程中在门户中切换了该选项,或

我有一个虚拟机在azure上运行。我想打开那个虚拟机的一个端口


目前我没有访问azure门户的权限。但是我可以通过ssh访问VM。我有所有的权限。可以向外部打开入站/出站端口吗?

一般来说-不可以。但如果您的VM具有托管标识,您可以调用托管标识端点以获取令牌,并使用rest api调用该令牌在Azure中执行操作,但这必须预配置,以便您的托管标识具有执行这些操作的权限。

默认情况下允许出站流量

答案(入站)实际上取决于是否创建了NSG并将其连接到VM NIC。除非在创建过程中在门户中切换了该选项,或者该选项是使用没有NSG的ARM模板创建的,否则它将具有一个NSG,这是默认设置

NSG充当访问控制列表,不能使用本机操作系统工具对其进行管理,除非您(1)启用了VM托管标识,并且(2)在NSG上授予了托管标识修改资源的权限。这样做的过程非常复杂,可能不适合在这里写,因为我没有看到它的有效用例

要在Linux中简单地打开入站端口,您可以使用:

sudo iptables -A INPUT -p tcp --dport [PORT-HERE] -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport [PORT-HERE] -m conntrack --ctstate ESTABLISHED -j ACCEPT
如果您无法访问门户来修改NSG,那么应该由其他人管理防火墙