很多云厂商默认关闭了 ssh 密码登录功能,比如说甲骨文 Oracle cloud ,之前都是朋友直接用脚本帮我新建实例,昨天dd崩了之后想着熟悉下控制台,发现不但没有用户预设 ssh 密钥功能,而且配置 ssh 登录过程还很麻烦,不过好在甲骨文提供了启动脚本 (cloud-init),即在创建实例第一次开机时执行启动脚本。

路径:计算——实例——创建实例——显示高级选项——cloud-init

111111111.png

原理就是在新实例开机的时候执行脚本,自动修改目录下 /etc/ssh/sshd_config 的这个 ssh 配置文件,修改 PermitRootLoginPasswordAuthentication 参数,并且顺便修改 root 密码。

cloud-init 脚本内容

debian / ubuntu

精准查找,适合 debian 与 ubuntu 系统。

其中 Dbapp2023 是你需要设置的 root 密码。

#!/bin/bash
echo root:Dbapp2023 |sudo chpasswd root
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config;
sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config;
sudo service sshd restart


centos

精准查找,适合 centos 系统。

其中 Dbapp2023 是你需要设置的 root 密码。

#!/bin/bash
echo root:Dbapp2023 |sudo chpasswd root
sudo sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config;
sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config;
sudo service sshd restart


通用脚本

理论上适合大部分 Linux 操作系统。

其中 Dbapp2023 是你需要设置的 root 密码。

#!/bin/bash
echo root:Dbapp2023 |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密码登录实例了。


实例更换IP

同上所述,我最开始玩甲骨文都是朋友帮忙新建,换IP等等(毕竟控制台不是很人性化+付费的第三方控制台是真的香,秒换IP、秒建实例)

路径:计算——实例——实例详细信息——附加的VNIC——VNIC详细信息——IPV4地址


1、在需要更换IP的实例详细信息里下拉,在资源栏里点击附加的VNIC

1-boae.png

2、附加的VNIC中点击你的名称

2-getx.png


3、VNIC详细信息点击IPv4地址

3-hwxc.png


4、最右边的框选择编辑

4-wwxe.png

5、更换公共IP类型

因为默认是有公共IP的,这里我们在公共IP类型中,先点击没有公共IP然后点击更新,释放掉我们正在使用的公共IP,随后再次点击编辑,公共IP类型选择临时公共IP更新,就发现我们的公网IP已经更换完成了,理论上是可以无限换的。

5-holg.png