甲骨文云Oracle Cloud使用密钥登录root用户
前言
甲骨文默认禁止了root用户登录,但appnode的面板是需要root用户来添加机器。
网上的教程大部分是在创建机器的时候执行脚本,直接使用root用户的账号密码登陆,但这并不安全。在这我分享下找到的方法,它使用你创建机器时上传的密钥文件来登陆root账户。
开始教程
以甲骨文的centos/ubuntu为例,正常使用你自己的PUB密钥文件创建机器,ssh登陆服务器后,是opc/ubuntu用户。
执行
修改SSH KEY
1
2
sudo su
cd /root
切换成root用户,进入root用户目录。
修改authorized_keys
文件(即ssh证书)
1
vi .ssh/authorized_keys
把ssh-rsa之前的文件都删除掉.
编辑ssh配置文件
输入以下命令修改配置
1
nano /etc/ssh/sshd_config
找到PermitRootLogin及以下几项,如有#把前面的#去掉, 更改为以下参数
1
2
3
4
5
6
PermitRootLogin yes #开启root用登陆
#以下几项可不修改,默认是注释掉
PubkeyAuthentication yes #启用设置公钥验证文件的路径,可不修改,默认即可
AuthorizedKeysFile .ssh/authorized_keys #公钥验证文件的路径,可不修改,默认即可
PasswordAuthentication no #禁止root用户以密码登陆,这样只能密钥登陆确保安全。
重启SSH服务
再重启sshd服务/服务器
1
2
sudo systemctl restart sshd
然后就可以修改你ssh客户端的用户名,用密钥登录root用户。
修改SSH默认端口
编辑ssh配置文件
1
/etc/ssh/sshd_config
找到Port 22这一行,默认是注释掉,先把注释去掉,再加一行Port 5555, 此处注意应该提前在系统开放这个端口的访问权限,否则导致无法连接,甲骨文主机除了要在实例防火墙放行端口,还要关闭安装的系统自带的防火墙,例如ubuntu.
1
2
3
4
5
6
7
8
9
10
11
#防火墙放行全部端口:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
#或者直接删除规则:
rm -rf /etc/iptables/rules.v4
rm -rf /etc/iptables/rules.v6
添加完成后重启sshd服务,先用添加的5555端口测试连接是否正常,正常之后再注释掉前的22端口,至此ssh默认端口就更改为5555端口了。
本文由作者按照
CC BY 4.0
进行授权