
我的甲骨文云(Oracle Cloud)账号还是多年前注册的,这些年断断续续开着机,也没怎么好好利用。最近心血来潮想重新折腾一下,结果在创建新实例时就被劝退了——现在默认只支持SSH密钥登录,每次连接都要指定私钥文件,对于我这种习惯了输入账号密码就上的懒人来说,实在有点麻烦。
琢磨了半天,终于找到了一个完美的解决方案:在创建实例时通过 cloud-init 脚本直接开启密码登录。今天就把这个经验分享给大家,特别是像我这样的老用户,希望能帮你们少走点弯路。经常用的老鸟飘过吧 给新人看的
💡 为什么选择密码登录?
●
方便快捷:不用到处找 .key 文件,也不用担心权限设置错误导致无法连接。
●
符合直觉:在任何终端工具里,输入用户名和密码就能登录,对新手更友好。
●
双保险机制:保留密钥作为备用,万一密码登录出问题还能救急。
🛠️ 创建实例时的关键设置
1.
SSH密钥配置(保留备用)
到了“添加SSH密钥”这一步,虽然我们要用密码登录,但我还是强烈建议生成并下载密钥对。这相当于给服务器上了双保险,万一后续密码登录因为某些原因没生效,还可以用密钥救急,不至于要把实例删了重来。
2.
粘贴cloud-init脚本(核心步骤)
这是最关键的一步!在创建页面的“高级选项”区域,找到“粘贴cloud-init脚本”的文本框。
cloud-init是云服务器第一次启动时自动执行的初始化脚本。我们要做的就是告诉它:“帮我把密码设好,再把密码登录的门打开。”
📜 专属脚本分享
以下脚本专为Ubuntu和Oracle Linux系统设计,会同时设置 ubuntu 和 opc 用户的密码,确保无论系统默认是哪个用户都能顺利登录。 其他系统的话让ai生成对于的吧
代码
#cloud-config
users:
- name: ubuntu
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
- name: opc
sudo: ALL=(ALL) NOPASSWD:ALL
groups: users, admin
shell: /bin/bash
chpasswd:
list: |
ubuntu:Abc123abc
opc:Abc123abc
root:Abc123abc
expire: false
ssh_pwauth: true
runcmd:
- sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
- sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
- systemctl restart ssh重要提示:
●
脚本第一行的 #cloud-config 必须顶格写,前面不能有空格或空行。
●
整个脚本的缩进(空格)非常重要,不要随意改动,否则会导致格式错误。
🚀 成功登录
确认所有配置无误后,点击页面底部的“创建”按钮。等待几分钟,等实例状态变为“运行中”,记下你的实例公网IP地址。
现在,打开你电脑上的终端,输入以下命令:
代码
ssh ubuntu@你的实例公网IP当系统提示是否继续连接时,输入 yes 并回车。接着会提示输入密码,输入你在脚本里设置的密码(例如 Abc123abc)。注意,输入密码时屏幕上不会显示任何字符,输完直接回车即可。
如果一切顺利,恭喜你!你已经成功进入了你的甲骨文云服务器。
📌 总结
通过这个简单的方法,我们巧妙地绕过了甲骨文云复杂的密钥配置,用最传统、最习惯的密码方式实现了登录。这对于刚接触Linux或者只是想快速搭建应用的朋友来说,能省去不少麻烦。
当然,从安全角度看,密钥登录依然是更推荐的方式。但对于学习、测试或个人项目来说,开启密码登录带来的便利性是巨大的。希望这篇小教程能帮到和我一样的老用户,让我们重新愉快地玩转云服务器!为了安全登录有做好其他保险措施!