最近给openstack创建的虚机(系统CentOS 7 )尝试使用ssh登录时候提示要我用普通账号centos进行登录,无法使用root账号登录
提示信息:

Please login as the user "centos" rather than the user "root".

在这里插入图片描述
下面的配置步骤参考了https://cyhour.com/1539/ 这篇文章,对虚机系统进行配置

使用普通账号登录虚机

ssh centos@10.0.0.252

切换到root账号

sudo -i

配置root密码

passwd

打开ssh配置文件

vi /etc/ssh/sshd_config

修改或添加下面配置

PermitRootLogin yes
PubkeyAuthentication yes

编辑认证文件authorized_keys

vi /root/.ssh/authorized_keys 
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"centos\" rather than the user \"root\".';echo;sleep 10"

重启ssh服务

systemctl restart sshd

测试使用root账号登录

ssh root@10.0.0.252

-
可以看到登录成功

Linux系统 开启SSH root账号登录 解决ssh登陆时提示 Please login as the user “centos“ rather than the user “root“. Linux系统 开启SSH root账号登录 解决使用ssh登陆时提示 Please login as the user "centos" rather than the user "root".
我们有可能需要在远程机器上运行一些命令。如果只是偶尔进行的操作,要实现这个目的,可以登录到远程系统上直接执行命令。但是每次都这么做的话,就有点烦人了。既然如此,有没有摆脱这种麻烦操作的更佳方案? 是的,你可以从你本地系统上执行这些操作,而不用登录到远程系统上。这有什么好处吗?毫无疑问。这会为你节省很多好光。 这是怎么实现的?SSH 允许你无需登录到远程计算机就可以在它上面运行命令。 通用语法如下所示: $ ssh [用户名]@[远程主机名或 IP] [命令或脚本] 1) 如何通过 SSH 在远程 Linux 系统上运行命令 下面的例子允许用户通过 ssh 在远程 Linux 机器上运行
对于刚创建AWS EC2实例,或者经常使用AWS 实例的小伙伴们来说,刚创建的EC2实例是没有ROOT权限的,因此不能直接使用ROOT用户去登陆实例,也无法获取到root权限。 一般情况下,EC2实例默认是以ec2-user为用户名去登陆的 (除了Ubuntu系统实例,它的默认用户名是ubuntu,centos系统实例,它的默认用户名是centos)。 对于如何去创建root及密码,以及更改用户登陆方式–改为root用户登陆实例,就显得很有必要。下文就是帮助大家如何去创建root密码,以及如何ROOT用户去
其中,`<centos_ip_address>`是CentOS主机的IP地址。这将从Windows计算机中删除CentOS主机的旧密钥记录。 2. 在Python代码中添加以下代码,以忽略主机密钥验证: ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 这将告诉Paramiko自动接受新的主机密钥。 3. 重新运行你的Python代码,你应该能够成功连接到CentOS主机。 希望这可以帮助你解决问题。