前言
AWS上建立实例只能使用Secret Key来登录,少了输入密码这一步的确很方便,但是有个很尴尬的问题,现在AWS的设置是不允许使用root配合SK来登录,只允许ec2-user或者ubuntu配合SK登录,这类账户肯定是没有root权限的,这样在安装一些Packages或者运行脚本的时候会出现很多不必要的麻烦。
解决方法
解决的方法很简单,修改一下sshd_config即可,下面以Ubuntu为例:
先以ec2-user/ubuntu登录ssh
1、修改root的密码:
1 | sudo passwd root |
2、切换到root身份来修改配置文件:
1 | su root |
3、编辑[kbd]/etc/ssh/sshd_config[/kbd]:
1 | vim /etc/ssh/sshd_config |
4、Insert进入编辑模式,找到[kbd]PasswordAuthentication no[/kbd]这一行,修改成:
1 | PasswordAuthentication yes |
5、找到[kbd]PermitRootLogin prohibit-passwd[/kbd]这一行,修改成:
1 | PermitRootLogin yes |
6、Esc退出编辑模式,:wq保存配置
7、为保证安全也给unbuntu账号设置密码
1 | passwd ubuntu |
8、重启SSHD以应用新配置:
1 | sudo service sshd restart |
Bonjour!现在就可以使用root密码登录ssh了。
补充
如果之后还要部署其他实例的话,一个一个来改肯定很不方便,AWS为我们提供了私有AMI的功能,只需要把当前这台配置好的实例保存为私有AMI,下次创建实例时选择自己的私有AMI即可。
方法如下:
1、登录AWS控制台,进入实例管理
2、右键已经配置好的实例,选择映像->创建映像
3、设置好映像名称和描述后点击创建映像即可创建私有AMI。
4、在控制台AMI选项卡中可以查看当前的AMI状态,刚创建的AMI一般要过几分钟才能从Pending状态转为Available。
5、下次部署实例时即可选择私有AMI进行部署。