前言
微软Azure很慷慨,学生只需要用学校邮箱认证一下就有很慷慨的虚拟机额度和100美元赠金了
总体来说从认证到创建虚拟机都比较顺利,不过有两点是不太习惯的:
- Azure虚拟机默认禁止了ICMP,所以新机器是ping不通的
- Azure虚拟机默认没有root账户
其实就第一点麻烦一点,第二点还是很简单的
解决方案分别如下:
设置允许ping
配置方法及其原理
最方便的方法是直接开放所有协议的所有端口,但是这样是很不安全的,以下方法会麻烦一点但是更安全
按照如下方法配置入站规则:

这里需要注意的是,优先级那里一定要填大一点,并且denytcp和denyudp的优先级一定要在allowall之上
Azure的优先级规则是,数值越大,优先级越低,反之数值越小优先级越大
如图,有入站流量时会先从优先级高的开始一层一层匹配
之后如果要开放其它端口,那照常添加入站规则就好了,但是一定要确保后续开放的端口的优先级一定要在denytcp和denyudp之上,否则会被拦截
这样做的原理其实很简单粗暴,就是禁止所有tcp和udp协议的入站流量作为安全性的保底策略,然后把允许一切协议一切端口的规则放在优先级最低的地方,这样就能在保证安全性的基础上还允许ICMP,之后要开放其它端口只要确保优先级在这三个之上,就不会被拦截了,比如:

我把80端口和443端口放在了优先级为310和320的位置,优先级很高,这类流量匹配到了这两条规则就直接入站了,不会触发denytcp和denyudp
允许内网入站(可选)
如果你需要内网连接,则还需要添加以下两条规则,如果不需要,则可以直接跳过

源选择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


![表情[xieyanxiao]-Abyss的小屋](https://www.rsnocsi.cn/wp-content/themes/zibll/img/smilies/xieyanxiao.gif)
暂无评论内容