linux下如何开启root账号登陆,以及如何切换密码和密钥登陆?

视频教程

https://youtu.be/6pr6tdeSyfU

图文教程

前言

本期主要讲的是ubuntu系统开启root登录,以及切换密码和密钥登录。
ubuntu系统默认使用的是ubuntu账号,每次需要获取root权限时,都需要输入命令,比较繁琐。
而且如果使用的是密码登陆的话,也不太安全,容易被人暴力破解,此时就可以跟着我这期教程,切换为密钥登陆了。

开启root登录

首先,第一步是通过sudo -i临时获得root权限。

甲骨文云配置root使用密钥登录

执行命令

vim ~/.ssh/authorized_keys

删除ssh-ed25519之前的所有字符,保存。

好了,教程结束~


如果是其他vps只有密码的情况下要如何开启root登录呢?那就接着往下看吧。

首先再sudo -i获取root权限之后,执行以下命令。

// 编辑文件
nano /etc/ssh/sshd_config

来到编辑界面,通过ctrl+w进入查找功能。

输入对应文本PermitRootLogin找到并修改为yes,再输入PubkeyAuthentication同样修改为yes,继续找到PasswordAuthentication同样修改为yes。

这三个配置代表的含义分别是:开启root账号登录、开启密钥登录、开启密码登录。

修改完成按ctrl+x,提示是否保存,输入y,再提示写入文件,输入回车。
总结就是ctrl+x >> y >> 回车。

再执行下列命令用于重启ssh服务。

service sshd restart

此时咱们还差一步就可以使用root账号和密码登录了。

咱们要通过账号密码登录,那首先得有密码吧?所以下一步,修改密码。

修改root密码

因为咱们之前通过sudo -i临时获取了root权限,所以可以直接执行以下命令。

passwd root 


该命令表示修改root账号的密码,如果不加上root则表示修改当前账号的密码。

连续输入两次密码,设置成功。

可以尝试登录。

验证root登录之后,可以再继续配置密钥登录。

生成ssh密钥对(指定ed25519密钥类型)

首先在本机执行window+r,并输入cmd打开命令行界面。

执行命令,生成密钥

ssh-keygen -t ed25519 -C "root"

 -t用来指定密钥类型,可选类型如下(引用自网络):

  1. ssh key的类型有四种,分别是dsa、rsa、 ecdsa、ed25519。
  2. 根据数学特性,这四种类型又可以分为两大类,dsa/rsa是一类,ecdsa/ed25519是一类,后者算法更先进。
  3. dsa因为安全问题,已不再使用了。
  4. ecdsa因为政治原因和技术原因,也不推荐使用。
  5. rsa是目前兼容性最好的,应用最广泛的key类型,在用ssh-keygen工具生成key的时候,默认使用的也是这种类型。不过在生成key时,如果指定的key size太小的话,也是有安全问题的,推荐key size是3072或更大。
  6. ed25519是目前最安全、加解密速度最快的key类型,由于其数学特性,它的key的长度比rsa小很多,优先推荐使用。

一般情况下选择ed25519即可,如果出现问题再改成rsa,其他类型可以忽略。

-C只是用于备注,对key做标记,内容可以随意填写。

直接全部回车(这里可以按需自己选择,一般保持默认即可),则会在默认的文件夹下生成私钥密码为空的密钥对;命令执行完成会生成两个文件,公钥和私钥;私钥需要自己保留着,公钥则需要配置在VPS上。

将公钥配置上到VPS上

在vps上执行下列命令:

mkdir -p -m 700 /root/.ssh/

这个命令的意思是创建/root/.ssh/文件夹,并设置权限为拥有者有读、写、执行权限(权限代码700),如果已经存在这个文件的,可以不执行这条命令,但是执行了也没有什么问题。

然后复制公钥内容(命令行里有给出文件的具体地址,.pub后缀的就是公钥,直接用txt打开即可),并将内容替换下列命令的“公钥”字符串。

注意不要复制到了换行符!!!

echo '公钥' >> /root/.ssh/authorized_keys

替换完的命令如下:

echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINqEjYCWNm8PxSjDfgI/B6b9OiJmRfyISJVDfr9ePZTR root' >> /root/.ssh/authorized_keys

再执行vps上的公钥读写权限,命令如下:

chmod 600 /root/.ssh/authorized_keys

一切准备就绪,接下来就可以测试密钥登录了。

先配置ssh连接为公钥登陆,选择自己生成的新的私钥。

然后直接登陆即可。

测试成功,完结撒花。

我们的教程,正常来说到这边就已经结束了,但是为了安全考虑,有时候我们需要把密码登录给它去掉。所以,接下来我们继续。

关闭密码登录

再次执行命令

// 编辑文件
nano /etc/ssh/sshd_config

找到PasswordAuthentication修改为false,执行ctrl+x保存。

然后执行下列命令,重启ssh

service sshd restart

此时就高枕无忧了。只要你的私钥不暴露出去,没人能连上你的机器,根本不慌。

我们的教程整体就已经结束了,感谢大家的阅读,我们下期再见~