微软Azure虚拟机如何允许Ping以及设置root用户

前言

微软Azure很慷慨,学生只需要用学校邮箱认证一下就有很慷慨的虚拟机额度和100美元赠金了

总体来说从认证到创建虚拟机都比较顺利,不过有两点是不太习惯的:

  • Azure虚拟机默认禁止了ICMP,所以新机器是ping不通的
  • Azure虚拟机默认没有root账户

其实就第一点麻烦一点,第二点还是很简单的

解决方案分别如下:

设置允许ping

配置方法及其原理

最方便的方法是直接开放所有协议的所有端口,但是这样是很不安全的,以下方法会麻烦一点但是更安全

按照如下方法配置入站规则:

20260622211213142-image

这里需要注意的是,优先级那里一定要填大一点,并且denytcp和denyudp的优先级一定要在allowall之上

Azure的优先级规则是,数值越大,优先级越低,反之数值越小优先级越大

如图,有入站流量时会先从优先级高的开始一层一层匹配

之后如果要开放其它端口,那照常添加入站规则就好了,但是一定要确保后续开放的端口的优先级一定要在denytcp和denyudp之上,否则会被拦截

这样做的原理其实很简单粗暴,就是禁止所有tcp和udp协议的入站流量作为安全性的保底策略,然后把允许一切协议一切端口的规则放在优先级最低的地方,这样就能在保证安全性的基础上还允许ICMP,之后要开放其它端口只要确保优先级在这三个之上,就不会被拦截了,比如:

20260622211817841-image

我把80端口和443端口放在了优先级为310和320的位置,优先级很高,这类流量匹配到了这两条规则就直接入站了,不会触发denytcp和denyudp

允许内网入站(可选)

如果你需要内网连接,则还需要添加以下两条规则,如果不需要,则可以直接跳过

20260622212632102-image

源选择Service Tag,源服务标记分别为VirtualNetwork、AzureLoadBalancer

设置root密码并配置密码登录

设置root密码

先确保SSH的端口(22)以及开启

随后用你自己的普通用户的身份,SSH连接到这台服务器,执行以下命令

sudo passwd root

会先提示你输入当前用户的密码(sudo)

随后系统会让你输入两次你想设置的root密码

开启root远程登录

sudo vim /etc/ssh/sshd_config

找到以下两项配置(若不存在则手动添加)并修改:

  • 允许 root 登录:将PermitRootLogin改为 yes
  • 允许密码认证:将PasswordAuthentication改为 yes

在vim中,按i键进入编辑模式,编辑完成后输入:wq保存并退出

如果不确定是否有修改成功,可用cat /etc/ssh/sshd_config 查看文件的内容以确认

然后执行以下命令重启SSH服务:

sudo systemctl restart ssh

参考内容

Azure官方文档

https://www.yoqu.win/archives/861

© 版权声明
THE END
喜欢就支持一下吧
点赞0支持一下吧? 分享
评论 抢沙发
欢迎您留下宝贵的见解!
提交

昵称

取消
昵称表情代码图片

    暂无评论内容