亚马逊云创建Aws EC2示例+用Xshell7连接登录Aws+设置允许使用root登录

在学Linux,想着搞个服务器来玩玩,发现亚马逊云可以弄免费的服务器,跌跌撞撞才了不少坑,最后给弄好了,这里记录一下我的创建Aws EC2示例+用Xshell7连接登录Aws+设置允许使用root登录的整个过程,提供大家参考,也防止自己以后忘记怎么弄。

一、创建Aws EC2示例

  1. 打开AWS EC2管理控制台,右上角选择地区,建议选择离自己近的,我测试过了新加坡、首尔、东京,首尔的快一些,我选择的首尔。但为了方便演示,我选择东京。
    在这里插入图片描述

  2. 点击启动实例
    在这里插入图片描述

  3. 填一些实例的选项
    在这里插入图片描述

  4. 操作系统选择自己想用的,Ubuntu、RedHat、Debian都行,但是好像没有CentOS,演示我选Ubuntu,因为这个Ubuntu在后面设置登陆时,会比其他的多出一个问题,在后面可以解决。
    在这里插入图片描述

  5. 实例类型默认就好。
    在这里插入图片描述

  6. 密钥对一定要创建!!! 点击创建新的密钥对,命名随便,一定要保存下载下来。
    在这里插入图片描述

  7. 网络设置默认

  8. 配置存储,亚马逊云提供每人30GB免费的,这里默认8也行,你改大或者改小都随便,建议是不要搞太大,这里默认8GB的话,你就还有22G,还可以用来再建两台服务器。
    在这里插入图片描述

  9. 设置好了之后,点击右边的启动实例,几秒钟之后就好了。
    在这里插入图片描述
    在这里插入图片描述

  10. 回到管理控台,可以看到正在运行的实例有了1,如果没有,刷新一下网页。点进去。在这里插入图片描述

  11. 点击实例的名字,会弹出它的一些配置,复制它的公有IP地址,在windows的cmd框框里ping它。会发现ping不通,说明连接不上,我一开始跟着网上教程搞,没这一步,直接用Xshell去连,一直搞不出来。
    在这里插入图片描述在这里插入图片描述

  12. 出现问题,那就解决它,ping不同连接不上是因为服务器安全设置没有弄好,回到管理控制台,在实例旁边有一个安全组,点进去。名称位default的是默认的,不动它,另一个launch-wizard-1就是刚刚创建实例的时候创建的,鼠标右键点他,点击编辑入站规则
    在这里插入图片描述
    在这里插入图片描述

  13. 安全组—>编辑入站规则,把原来的SSH改成所有流量,后面的来源,选中0.0.0.0/0。然后保存。
    在这里插入图片描述
    在这里插入图片描述

  14. 再次ping它,可以发现能够ping通,说明能够连接上。OK,网上的配置就结束了。
    在这里插入图片描述

二、使用Xshell7连接登录Aws Ec2

  1. 打开Xshell,新建会话,主机填公有IP地址,按图步骤
    在这里插入图片描述在这里插入图片描述
  2. 上面那图点击设置,点浏览,点导入,选中刚刚创建实例时候下载的密钥对。
    在这里插入图片描述
  3. 导入之后,就可以在下拉框中选择刚刚导入的那个。密码不用填,点确定。然后点连接
    在这里插入图片描述
  4. 连接后,会弹出来一个框框,让你输入用户名,Ubuntu输ubuntu,RebHat输ec2-user,Debian输admin。如果你不知道,你可以输入root,它会警告你不要用root登录,并告诉你应该用哪个用户名。我的Ubuntu这里输入ubuntu。输完回车就能登陆成功。
    在这里插入图片描述

三、设置允许用root登录

服务器用来自己玩,当然是用root用户更爽。

  1. 设置root的密码,并切换到root用户。
sudo passwd root
su - root

在这里插入图片描述

  1. 给刚刚那个用户名也设置一个密码。
passwd ubuntu
  1. 修改ssh配置文件,把里面的一些选项给改掉。
vim /etc/ssh/sshd_config
PasswordAuthentication no  改成  PasswordAuthentication yes
#PermitRootLogin prohibit-password  改成  PermitRootLogin yes
UsePAM yes  改成  UsePAM no

改好后:wq保存退出

  1. 修改authorized_keys文件
sed -ri 's/^/#/;s/sleep 10"\s+/&\n/' /root/.ssh/authorized_keys
  1. 重启sshd.service
systemctl restart sshd.service
  1. OK,Debian版本的到上面那步就可以,断开连接再重新连接,使用root可以登录。但是,Ubuntu不行,会出现说root用户在远程服务器上未注册,如下图。
    在这里插入图片描述
    问题出现,我也是新手,不知道为什么会这样,查了很多都没有搞明白,但根据一些帖子尝试出了方法。下面解决

  2. 用原来的普通用户ubuntu登录,然后切换到root用户,并保持登录状态
    在这里插入图片描述

  3. 新建.Xauthority文件

touch /root/.Xauthority
  1. 用Xshell生成密钥,跟着图片步骤做。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 复制好之后,关闭,进入到~/.ssh这个目录,ls可以看到有一个authorized_keys文件。

cd ~/.ssh

在这里插入图片描述

  1. 把刚刚生成的密钥里面复制来的东西写进去。
echo 复制的内容 > authorized_keys

在这里插入图片描述

  1. 断开连接,重选会话的密钥,密码输入刚刚自己设置的密码。
    在这里插入图片描述

  2. 重新连接,用户输入root,就可以用root身份登录。
    在这里插入图片描述
    在这里插入图片描述

  3. 这个主机名**root@ip-172-31-15-25:~#**看着实在是丑, 可以用下面的命令把它改掉,改完需要reboot重启才会生效。

vim /etc/hostname

结束。

猜你喜欢

转载自blog.csdn.net/LYQ1400578281/article/details/125081996