首先通过默认用户(甲骨文为“opc”)登录到ssh服务器
然后为root账户设置一个密码
sudo su -
passwd
通过两次输入密码以后,密码就设置成功了
接着,我们需要编辑sshd_config,用来配置和允许root账户登录
nano /etc/ssh/sshd_config
修改下面的字段,然后保存并退出
PermitRootLogin yes
PasswordAuthentication yes
最后,我们重启SSH服务
systemctl restart sshd
现在,就可以通过root账户+密码进行登录了
在 root 目录创建 .ssh
sudo su -
mkdir -p /root/.ssh
然后将复制opc用户的authorized_keys到root用户下.ssh目录,并设置好权限
cp /home/opc/.ssh/authorized_keys /root/.ssh/
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
注意:配置好后,authorized_keys文件在甲骨文中需要删掉开头的限制性提示字段,否则会出现
“Please login as the user "opc" rather than the user "root”的提示。删除后保存并退出。
nano /root/.ssh/authorized_keys
公钥文件内应该这样显示(参考)
ssh-rsa #开头是ssh-ras
AAAA........ #公钥主体
配置好后,我们还需要打开sshd_config,检查sshd_config文件里的下面的字段
nano /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes # 启用或禁用通过密码登录
PermitRootLogin yes
配置好字段后,重启SSH服务
systemctl restart sshd
root账户现在就可以直接用密钥登录了
在配置好root+密码登录,和root+公钥登录后,为了更好的安全性,我们可以配置为仅使用root+公钥登录
我们需要在sshd_config文件进行配置
nano /etc/ssh/sshd_config
修改文件内的字段,保存并退出
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
KbdInteractiveAuthentication no #如果没有这一行,可以直接添加
#注意,一定要确保下面字段开启,并且已经按上文配置好公钥登录,请及时测试,否则改完会锁死自己
PubkeyAuthentication yes
PermitRootLogin yes #或在此字段仅允许密钥:PermitRootLogin prohibit-password
在这之后,重启SSH服务
systemctl restart sshd