精品软件与实用教程
如何使用 root 账号 SSH 登录亚马逊云
AWS ec2默认是使用ec2-user账号登陆的,对很多文件夹是没有权限的。需要更改为root超级管理员登录。
注意:在创建 Linux Red Hat 9 操作系统时,需要先创建一个密钥对进行SSH远程控制,创建时“私钥文件格式”系统默认的是“.PPK”,使用PuTTY进行SSH连接的,这里不要更改,如果选择常用的“.pem”格式,需要使用Xshell 7 进行连接。
步骤1:使用ssh工具远程登录到亚马逊云服务器
使用Xshell工具,建立亚马逊云SSH连接,方法选择 Public Key,帐号填写 ec2-user,用户密钥选择之前在AWS亚马逊云上下载的密钥文件。密钥的密码无需填写。
步骤2:创建root的密码
输入如下命令:
sudo passwd root
输入一个你的root的密码,然后会提示你输入new password。需要你再输入一遍进行验证。
步骤3:切换到root身份
接下来,切换到root身份,输入如下命令:
su root
步骤4:修改SSH配置文件
使用root身份编辑亚马逊云主机的ssh登录方式,修改SSH的位置文件。
vi /etc/ssh/sshd_config
Port 22 远程SSH端口默认使用22的无需改动,如果想使用其它端口,取消#号注释,后面填写端口号,同时注意你的防火墙是否启用端口,防火墙包括系统防火墙,AWS亚马逊云平台上的防火墙和SELinux。
PermitRootLogin 如果是no或者#号标注的,需要改为 PermitRootLogin yes
PasswordAuthentication no 改为 PasswordAuthentication yes
UsePAM yes改为 UsePAM no
修改之后esc退出编辑模式,:wq保存后,需要关闭SELinux服务。
步骤5:添加 ec2-user 登录密码
使用ec2-user登录后,切换到root超级管理用户下,然后设置ec2-user的登录密码。
设置完毕后重新启动服务器。
如果无法进行ssh远程登录,请检查SELinux是否关闭。
关闭SELinux的方法
安全增强型Linux(SELinux)是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。
验证SELinux状态
以root权限远程连接EC2实例。
运行命令getenforce,验证SELinux状态。返回状态应为enforcing或者permissive,当前状态为enforcing。运行命令sestatus,获取更多SELinux信息。
参数信息SELinux status显示为enabled,表示SELinux已启动。
关闭SELinux
以root权限远程连接ECS实例。连接方式请参见连接方式概述。
运行命令getenforce,验证SELinux状态。
返回状态如果是enforcing,表明SELinux已开启。
选择临时关闭或者永久关闭SELinux。
执行命令 setenforce 0 临时关闭SELinux。
永久关闭SElinux。运行以下命令,编辑SELinux的config文件。
vi /etc/selinux/config
找到SELINUX=enforcing,按i进入编辑模式,将参数修改为SELINUX=disabled。
修改完成后,按下键盘Esc键,执行命令:wq,保存并退出文件。
reboot 重启ECS实例。
重启后,运行命令 getenforce,验证SELinux状态为disabled,表明SELinux已关闭。
Red Hat 9 防火墙
Red Hat 9 的系统防火墙默认是关闭的,如果想开放端口,需要在AWS云平台中设置开放端口,或者设置透明防火墙,开放所有端口!