今天要登录远程服务器时候,发现xshell无法连接,提示ssh拒绝了密码

我百度了很多办法,有的让vi 修改配置文件,但是我连虚拟机都进不去,最后我用修改密码的方式,成功进入服务器,方法如下:

一、开机进入单用户模式

 

二、修改引导

删除第16这一行最后的 rhgb和 quiet参数(在UEFI系统中是linuxefi),删除rhgb和quiet这两个参数是为了显示系统信息

(GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器

quiet表示在启动过程中只有重要信息显示,类似硬件自检的消息不回显示)

添加rd.break enforcing=0

三、按 CTRL + X 用改变的参数引导系统

四、在/sysroot/文件系统被挂载为只读时,你不能改变密码,因为文件系统为不可写入。重新挂载文件系统为可写入

mount -o remount,rw /sysroot

remount后面为什么要用逗号? 因为你指定了多个选项

进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;

mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限

五、文件系统被重新挂载为可写,像下面这样改变文件系统的root

chroot /sysroot

六、输入passwd命令,接下来命令行提示改变root密码

输入passwd命令,输入你的密码两次相同(这里不知道为什么我的提示是小方块,系统语言是英文的)

七、更新password文件会导致SELinux安全上下文文件错误。键入以下命令在下次系统引导前重新标记所有文件:

touch /.autorelabel (为了selinux生效)

八、键入exit命令退出chroot环境:

再次键入exit命令完成初始化,完成系统引导

 最后reboot 重启

到这里,我执行的时候还遇到个问题

登录的用户为 -bash-4.2#,现解决一下

尝试退出登陆root用户依然不能解决

原因:

root主目录下缺失.bash_profile和.bashrc文件

 

解决方法:

 复制目录下的.bash_profile和.bashrc文件到/root目录下

cd /etc/skel/

cp .bash_profile /root
cp .bashrc  /root

cd /root
source .bashrc
source .bash_profile

重新登陆root用户后问题解决!~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐