Oracle 如何将默认的「密钥登录」改为「root密码登录」?
撰写日期:2023年11月26日
【前言】
有幸使用(bai piao)过甲骨文云的人的,都对它的使用体验赞不绝口。
用 oracle cloud 的免费账号,可以最多分配4台服务器,
用它们来搭建自用网站,真的非常的酷爽的一件事。
不过我们大多数人都因为的长期使用微软系列、苹果系列、谷歌系列 C 端产品产品和服务,
习惯了「用户名」+ 「密码」的登录方式,
而 Oracle Cloud 偏偏在创建服务器(甲骨文云的官方称呼为“实例”)的时候,
只有(其实是默认) SSH 密钥的登录方式。
好好好!你最行可以了吧?(真是拿人的手短,吃人的嘴软)
问题到了建站的环节,我们还是希望将其改成「root密码登录」的方式更高效,
那么今天我们就来讲讲三种常用的将「密钥登录」改为「root密码登录」的思路和具体操作步骤。
【方法一】先用密钥登录,再在后台 SSH 修改参数(也是全网介绍得最多的方式)
▶ 第一步:SSH 登录
通过 SSH 客户端软件 (本次我使用的是 MobaXterm ) 使用搭建实例时下载的密钥文件(私钥),远程登录服务器
▶ 第二步: 切换 root 用户登录
由默认的「ubuntu 」或「 opc」 用户,切换到「root」用户登录,在 SSH 客户端键入如下命令并回车:
sudo -i <回车>
此时, SSH 客户端会显示,此时已切换为「root」用户登录
root@此处为你的实例名称:~# <呈现结果>
▶ 第三步: 为 root 用户设置密码
设置「root」用户密码,在 SSH 客户端键入如下命令并回车:
sudo passwd <回车>
此时,SSH 客户端会显示如下内容,请输入你想要设置的「root」用户的密码并回车:
New password:此处输入你想要设置的密码 <回车> (此处为备注字段 :左侧输入的密码会自动隐身,不用担心,盲打输入即可)
【注意】
此处在键入密码时,屏幕不会有任何反馈,你录入的密码好像隐身一样
不用怀疑,这不是键盘坏了,仅仅是该语言为了保护你的密码安全,自动有这样的防御机制
在第一次盲打密码后,会再次弹出以下界面,同样再次键入同样的密码并回车:
Retype new password:此处再次输入你想要设置的密码 <回车> (此处为备注字段 :左侧输入的密码会自动隐身,不用担心,盲打输入即可)
此时,如果两次输入无误的情况下,屏幕会给你一个反馈,提示设置密码成功.
passwd: password updated successfully <呈现结果> (此处为备注字段 :其中 successfully 这个单词应该为绿色)
【注意】
此处 successfully 这个单词应该为绿色
因为小编是使用 Typora 这种 Markdown 的语言编辑工具,无法展示文字的颜色,所以用文字加粗提醒你
▶ 第四步: 修改服务器端配置文件
上面仅仅是给「root」用户新设了密码,但服务器端依然还是默认我们通过「Ubuntu」这个用户来登录,
接下来,我们通过修改 oracle 服务器端该实例下的一个文件,来实现切换默认登陆的用户为「root」
此时,我们继续在 SSH 客户端输入如下命令并回车:
vim /etc/ssh/sshd_config
注:
1 - "vim" 为 Linux 环境下一款功能强大、高度可定制的文本编辑工具,类似于 Windows 下面的sublime 、notepad(记事本)
2 - "sshd_config"为我们接下来具体要修改的文件名
3 - "/etc/ssh/" 为服务器端该实例下存储该文件的具体路径,类似于小适合学习的DOS的表述方式
其实说简单点,该命令就是通过vim文本编辑器打开一个名叫 "sshd_config" 文件,供我们修改.
知道了这个原理,我再顺手提供另一个打开这个文件的方法(类似windows下文件夹内的操作).
条条大路通罗马,最终都是打开下面左边这份「变更前」配置文件。
最终我们就是将作图中用红框标记的两条代码修改为右侧变更后的样子即可(可点击图片放大)。
再说通透点,就是:(务必仔细点,在不懂代码含义的情况下,感觉每处代码都差不多)
1 - 将 “ #PermitRootLogin prohibit-password ” 修改为 “ #PermitRootLogin yes ” ,并且释放 “ # ” 注释
2 - 将 “ PasswordAuthentication no ” 修改为 “ PasswordAuthentication yes ” 。
编辑完后,不要忘了点击键盘最左上角的 “ ESC ” 键盘,退出 Vim的命令行模式或插入模式,
与此同时,光标会自动跳到下一行,然后再在屏幕输入如下命令:
:wq <无需回车> (此处为备注字段 :这个在 Vim 编辑器的「保存并退出」命令)
至此,通过 Vim 编辑器,修改 “ sshd_config ” 的步骤就操作完毕并保存了。
▶ 第五步: 重启服务器
但这一操作并不代表在该实例端奏效了,需要我们通过以下命令重启该服务器才行:
sudo service sshd restart <回车>
这回算是正式完成由密钥登录到密码登录的修改了!
▶ 第六步: 重新设置 SSH 客户端的登录方式
那既然修改完了,现在的登录就不要再用原密钥去尝试了。
回到 SSH 客户端软件中针对这个实例的登录设置界面,进行调整:
主要是两个地方要注意修改:
1 - 「指定用户名」由 ubuntu 变更为 root ;
2 - 「使用密钥」前的对勾取消掉。
点击下方的 「 OK 」键确定,大功告成。
为了新手能更好的理解和一步步实操成功,【方案一】应该是全网最详细的「傻瓜式」教程了。
也正因为【方案一】对一些细节做了铺垫,介绍【方案二】和【方案三】就更轻松,新手小白也更好理解和接受了。
【方法二】其实就是把手动打开并修改 “ sshd_config ” 的步骤,直接用代码来完成
▶ 第一步:输入以下代码,修改 root 密码 并 同时修改“ sshd_config ” 的两项配置
echo root:此处输入你想要设置的密码 sudo chpasswd root
sudo sed -i 's/^?permitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd config;
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g’ /etc/ssh/sshd config;
sudo service sshd restart
▶ 第二步: 同【方法一】的 第五步
和 第六步
一样,重启服务器,修改 SSH 的登录方式
学会了前面两种方法,第三种方法也很好理解了。
【方法三】在甲骨文云创建实例时,就把登录方式设置为密码登录
估计你要问 :What ?竟然创建的时候就有这样的方式,为何早不告诉我 ?
其实在实例创建的时候,并没有一个开关或按钮是可以直接设置为密码登录的,
他同样是要把【方案二】的那段代码,在创建实例的时候就前置设置好。
之所以并没有一开始就介绍这种方式,是因为作为新手,
是不太可能一开始创建实例的时候,就考虑到以后:
到底用私钥登录更方便还是通过 root 用户的密码登录更方便的。
那么到底在哪个地方设置呢?
▶ 第一步:创建实例时,先找到最下面的”管理“菜单中找到初始化脚本行,且看下图:
▶ 第二部:具体以下代码,填入「cloud-init 脚本」下方的方框内:
#!/bin/bash
echo root:yourpassword |sudo chpasswd root
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config;*
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config;
sudo service sshd restart
▶ 第三部:同【方法一】的 第六步
一样,直接在 SSH 的登录时,选择密码登录
【碎碎念】
看起来其实三种方法都同根同源,且都不算多复杂。
但在我这边教程出来之前,全网真的都没有一篇教程同时介绍了这三种方法,
我也是拜读了很多大神和MJJ的作品以后,才综合了大家的方法,写出这篇教程。
▶ 目的也很简单:
一是 给自己留个备查簿,方便随时拿来用,
二是 给有需要的朋友,加个关注和收藏,需要用的时候能找得到。