AWS EC2 主机ssh 修改成root用户密码和rsaKey登录
1、创建root密码:sudo passwd root
2、切换成root身份: su root
3、修改sshd 配置文件:vim /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes
4、重新启动下sshd,sudo /sbin/service sshd restart
--- 以上都是在服务端执行的操作,现在就可以ssh root@xxx.xxx.xxx 进行登录了
如果要免密码root登录,则需要再配置一下服务端的/root/.ssh/authorized_keys文件:
5、将本机生成的id_rsa.pub的内容加到authorized_keys文件后(加在新的一行上)
例:ssh-rsa AAAAB3NzaC1... MacBook-Air.local
部署Vue项目的时候要注意
-
AWS有两个防火墙,一个是WEB控制台里的所谓安全组,里面有好几个,有一些是不起作用的,你也不能直接去“新建”(建了也不起作用),正确的操作是先点“实例”,然后界面下方有一个很详细的关于这台主机的描述,找到“安全组”,是一个超链接,点了之后自动跳转到这台机器的安全组设置,如图:
每一个需要打开的端口都要设置入站规则(出站不用管),然后来源选择“任意位置”,你看我将常见的80, 3306, 443这些都设了,8081是网站的API,也要设。
-
AWS的这个所谓“安全组”,就感觉像是一个外层防火墙,这个即使设置了,在Linux里还是需要用fillwall命令打开这些端口的,否则还是无法访问,下面就是比较常规的命令了.
netstat -a | grep 80 //80端口开放否? firewall-cmd --list-all //看看防火墙开了80? firewall-cmd --add-service=http --permanent firewall-cmd --add-port=80/tcp --permanent //开80端口 firewall-cmd --reload firewall-cmd --list-all //再观察一次,OK
其他端口都如上例的80端口一样,依葫芦画瓢即可。
一般来说这几个必不可少:
22 SSH控制台(这个不需要设置,默认已设好)
80 WEB服务
3306 mySQL服务
443 https服务
后端API端口,如8080,8081,等等,这个没讲究,自行设置即可。
总结:像ASW,包括腾讯、阿里这些云服务商,都会在主机外层包裹一个防火墙(他们喜欢称为安全组),Linux内部也有一个传统防火墙,两者都要设好,外部网络才可顺利访问你的云主机。