如何限制Amazon EC2实例访问?防止持密钥者非法登录
限制EC2实例SSH访问的安全措施
以下是几个能有效防止他人拿到密钥后访问你EC2实例的方法:
限制SSH入站IP
在EC2安全组的入站规则里,把SSH(22端口)的来源范围从默认的0.0.0.0/0改成你本地机器的公网IP(格式为xxx.xxx.xxx.xxx/32)。这样只有你的IP能发起SSH连接请求,就算密钥泄露,对方不在你的IP环境下也连不上。加固SSH服务配置
登录EC2实例后,编辑/etc/ssh/sshd_config文件,做以下配置:- 设
PermitRootLogin no:禁止root用户直接通过SSH登录 - 设
AllowUsers 你的登录用户名:只允许指定用户登录(比如AllowUsers ec2-user) - 确保
PasswordAuthentication no:保持禁用密码登录,只允许密钥认证
修改完成后重启SSH服务生效:
# Amazon Linux/CentOS sudo service sshd restart # Ubuntu/Debian sudo systemctl restart sshd- 设
给SSH私钥设置密码保护
用ssh-keygen -p命令给你的本地私钥文件设置强密码,命令执行后按照提示输入新密码即可。这样就算私钥被窃取,对方还得输入这个密码才能使用密钥发起连接。改用AWS Systems Manager Session Manager连接
完全关闭EC2安全组的SSH入站端口,通过AWS Systems Manager的Session Manager功能连接实例。需要给EC2实例附加带有AmazonSSMManagedInstanceCore权限的IAM角色,之后就能直接在AWS控制台或通过CLI连接实例,全程不需要暴露22端口,密钥泄露也无法用于登录。
内容的提问来源于stack exchange,提问作者pankaj
相关产品推荐
相关产品推荐

