1. 首页 > 服务器系统 > Centos

Centos7如何重置root用户密码的常用方法汇总

Centos7重置root用户密码

第一种方法

1)开启虚拟机

2)在弹出这个界面时,按上下键防止页面跳转,选择"CentOS Linux (3.10.0-1160. e17. x86 64) 7 (Core)"并按e

3)找到ro crashkernel=auto xxx,把ro换成rw init=/sysroot/bin/sh

4)使用组合键Ctrl+X进入单用户模式

5)chroot /sysroot访问系统

6)passwd root重新输入新的root用户密码

7)touch /.autorelabel创建标签文件

8)exit返回刚刚的单用户模式

9)reboot重启系统

再次重启,输入刚才重新更改的用户密码就能登录系统了!

第二种方法

第二种方法与第一种方法一样,也是要进入系统内核调整

1)开启虚拟机

2)在弹出这个界面时,按上下键防止页面跳转,选择"CentOS Linux (3.10.0-1160. e17. x86 64) 7 (Core)"并按e

3)在linux16这一行后面加上rd.break

4)使用Ctrl+X组合键进入当用户模式

5)mount -o remount,rw /sysroot

6)chroot /sysroot

7)passwd root

8)touch /.autorelabel

9)exit

10)reboot

重启之后输入刚才更改的密码就可以重新登录系统!!!

第三种方法

1)选择打开电源时进入固件

2)从光盘启动,进入Boot启动项,用+ - 键的方式将CD-ROM Drive选项调到第一启动项位置

3)按F10,选择yes,然后回车,用来保存刚才所做的更改

4)选择第三个,进入拯救模式

5)选择第二个拯救这个CentOS系统

6)打一个1(继续)然后回车

7)访问系统:chroot /mnt/sysimage

8)编辑影子文件vim /etc/shadow

9)把这一段密码加密信息删掉

删除的时候要按下i键,编辑删除,然后:wq!保存并退出

10)exit

11)reboot重启系统

重新登录系统时,要先把原先的启动项调回去,变成从硬盘启动

重启后使用root用户登录,就会发现不使用root密码也可以直接进入系统

进入系统后,使用sudo passwd root命令,为当前用户提权给root用户设置一个密码!

Centos7通过SSH使用密钥实现免密登录的方法

一、serverA 免密登录 serverB 原理

  • 首先在 serverA 上生成一对秘钥(ssh-keygen)
  • 将公钥拷贝到 serverB,重命名 authorized_keys
  • serverA 向 serverB 发送一个连接请求,信息包括用户名、ip
  • serverB 接到请求,会从 authorized_keys 中查找,是否有相同的用户名、ip,如果有 serverB 会随机生成一个字符串
  • 然后使用使用公钥进行加密,再发送个 serverA
  • serverA 接到 serverB 发来的信息后,会使用私钥进行解密,然后将解密后的字符串发送给 serverB
  • serverB 接到 serverA 发来的信息后,会给先前生成的字符串进行比对,如果一直,则允许免密登录

二、Centos7 默认安装了 ssh服务

启动 ssh 服务

# 查看 ssh 状态
systemctl status sshd
# 启动 ssh
systemctl start sshd
# 停止 ssh
systemctl stop sshd

三、serverA 生成秘钥

遇到提示直接敲回车即可

CentOS7 默认使用RSA加密算法生成密钥对,保存在~/.ssh目录下的id_rsa(私钥)和id_rsa.pub(公钥)。

也可以使用“-t DSA”参数指定为DSA算法,对应文件为id_dsa和id_dsa.pub,密钥对生成过程会提示输入私钥加密密码,可以直接回车不使用密码保护。

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):    
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/gGrlDJN5euMS5aai5feBkEI/0WjEnzPzx1xGtdkKG4 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|.o..  o      +o  |
| .o.oo .  + +..  |
|  oo.o. .. B     |
|   o..oo  E      |
|    ...oSo .     |
|    .o +o+.      |
|    ooB + .      |
|   .oX.= . .     |
|  .o=o=.o .      |
+----[SHA256]-----+
[root@localhost ~]# ls ~/.ssh/
id_rsa  id_rsa.pub  known_hosts
[root@localhost ~]# 

四、解决找不到 .ssh 目录

如果在上面生成秘钥后,执行 cd ~/.ssh 找不到 .ssh 目录,是因为没有使用 ssh 登录过,使用 ssh 登录一下即可生成 .ssh 目录,之后再重新执行 ssh-keygen 生成秘钥即可

[root@localhost ~]# ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:DYd7538oOsqpIIDTs01C3G4S6PRE7msA91yUgk9Dzxk.
ECDSA key fingerprint is MD5:88:80:21:03:b2:52:6b:06:ff:c7:3b:d5:2d:47:c9:ad.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
root@localhost's password: 
Last login: Fri Oct 26 16:15:57 2018 from localhost
[root@localhost ~]# ls ~/.ssh/
known_hosts
[root@localhost ~]# exit
登出
Connection to localhost closed.
[root@localhost ~]# 

五、移动 id_rsa.pub 文件

# 将 serverA ~/.ssh目录中的 id_rsa.pub 这个文件拷贝到你要登录的 serverB 的~/.ssh目录中
scp ~/.ssh/id_rsa.pub 192.168.0.101:~/.ssh/
# 然后在 serverB 运行以下命令来将公钥导入到~/.ssh/authorized_keys这个文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 另外要注意请务必要将服务器上
~/.ssh权限设置为700
~/.ssh/authorized_keys的权限设置为600
# 这是linux的安全要求,如果权限不对,自动登录将不会生效

六、验证免密登录

ssh 192.168.101

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持主机测评网。

本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/centos/8642.html

联系我们

在线咨询:点击这里给我发消息

Q Q:2220678578