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则表示修改当前账号的密码。
连续输入两次密码,设置成功。
可以尝试登录。
生成ssh密钥对(指定ed25519密钥类型)
首先在本机执行window+r,并输入cmd打开命令行界面。
执行命令,生成密钥
ssh-keygen -t ed25519 -C "root"
-t用来指定密钥类型,可选类型如下(引用自网络):
- ssh key的类型有四种,分别是dsa、rsa、 ecdsa、ed25519。
- 根据数学特性,这四种类型又可以分为两大类,dsa/rsa是一类,ecdsa/ed25519是一类,后者算法更先进。
- dsa因为安全问题,已不再使用了。
- ecdsa因为政治原因和技术原因,也不推荐使用。
- rsa是目前兼容性最好的,应用最广泛的key类型,在用ssh-keygen工具生成key的时候,默认使用的也是这种类型。不过在生成key时,如果指定的key size太小的话,也是有安全问题的,推荐key size是3072或更大。
- 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
此时就高枕无忧了。只要你的私钥不暴露出去,没人能连上你的机器,根本不慌。
我们的教程整体就已经结束了,感谢大家的阅读,我们下期再见~