EC2管理页面:https://cn-north-1.console.amazonaws.cn/ec2/home?region=cn-north-1#Home:
新购买一台 AWS EC2 时,默认是新建了一个账号ec2-user
,然后需要下载.pem
文件,只能密钥登录,不能密码登录。并且root账号默认未开启!
# 开启 公私钥登录认证 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
参考文章:AWS EC2使用教程(购买时初始化过程、私钥登录演示)
目标1:开通root远程密码登录
1、设置root账号密码
输入如下命令:sudo passwd root
,然后会提示你输入新密码,输入一个你要设置的root的密码,需要你再输入一遍进行验证。
sudo passwd root
接下来,切换到root身份,输入如下命令:su root
,输入你刚刚设置的密码
su root
2、让root能远程登录
vim /etc/ssh/sshd_config
- 把
PasswordAuthentication
设置为yes
- 把
PermitRootLogin
设置为yes
注意:以上2个设置,缺一不可。
3、重启一下sshd服务
sudo /sbin/service sshd restart
到此,可以用root身份的账号密码直接登录EC2的服务器了,不需要使用密钥了!
目标2:修改ssh默认22端口
SSH如果开着22端口,很容易被上传或者被挖矿。现在修改默认的SSH的22端口:
1、修改ssh配置文件
sudo vim /etc/ssh/sshd_config
2、修改22端口为41835
经验传授:先暂时同时开启 22端口 和 41835端口,当确定41835端口能正常访问了,再去掉22端口!
3、重启一下sshd服务
sudo /sbin/service sshd restart
4、设置AWS的安全组
编辑入站规则
,增加新的ssh端口41835
5、设置Linux防火墙
默认情况下,云主机关闭了Linux自带的防火墙,但是如果安装了“宝塔面板”,它会启动该防火墙。
这个时候,有2种方式设置防火墙开放端口:
方式一:通过宝塔的“安全”页面,开放端口
方式二:通过命令行设置
具体参考文章:CentOS 7.x 防火墙设置
6、重新SSH链接,测试新端口(41835)是否生效
//......
7、修改ssh配置文件,去掉默认的22端口
sudo vim /etc/ssh/sshd_config
8、重启一下sshd服务
sudo /sbin/service sshd restart
9、重新SSH链接,测试端口22是否关闭
// ......
参考: