阿里云AlmaLinux操作系统允许root登录配置步骤

先使用almalinux用户,使用密钥登录。

执行sudo -i切换到root

然后上传以下脚本root.sh,执行bash root.sh就允许root用户登录了

bash 复制代码
#!/bin/bash
# 最终修复脚本

echo "=== 开始最终修复 ==="

# 1. 清理配置片段
echo "清理配置片段..."
rm -f /etc/ssh/sshd_config.d/*-password*.conf 2>/dev/null

# 2. 备份并创建干净的配置
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.before_final
cat > /etc/ssh/sshd_config << 'EOF'
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
PubkeyAuthentication yes
IgnoreRhosts yes
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication yes
PasswordAuthentication yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/libexec/openssh/sftp-server
UsePAM yes
EOF

# 3. 修复PAM配置
cp /etc/pam.d/sshd /etc/pam.d/sshd.before_final
cat > /etc/pam.d/sshd << 'EOF'
#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
session    required     pam_selinux.so close
session    required     pam_loginuid.so
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
EOF

# 4. 临时关闭SELinux
setenforce 0

# 5. 验证配置
echo "验证SSH配置..."
if sshd -t; then
    echo "✓ 配置验证通过"
else
    echo "✗ 配置验证失败"
    exit 1
fi

# 6. 重启服务
systemctl restart sshd

# 7. 显示生效配置
echo ""
echo "=== 生效的配置 ==="
sshd -T | grep -E "passwordauthentication|usepam|permitrootlogin"

# 8. 检查服务状态
if systemctl is-active --quiet sshd; then
    echo ""
    echo "✓ SSH服务运行正常"
    echo ""
    echo "=== 修复完成 ==="
    echo "现在请测试SSH连接:"
    echo "ssh -o PreferredAuthentications=password root@0.0.0.0"
else
    echo "✗ SSH服务启动失败"
    journalctl -u sshd -n 20
fi
相关推荐
雪落漂泊1 小时前
Liunux进程(七):程序控制篇(中)
linux·运维·windows
俊俊几年的1 小时前
动态规划(Dynamic Programming)详解:从入门到 LeetCode Hot 100
linux·c++·算法·leetcode·嵌入式·动态规划·c
星恒随风10 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
可乐ea13 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
唐墨12314 小时前
linux kernel 比较数据大小的宏定义
linux·算法
程序开发阿元15 小时前
密码不进工具:一个独立开发者的服务器凭据管理办法
linux·ssh
真好啊又活了一天17 小时前
服务器和虚机配置IPV6
运维·服务器·github
AR-26710-18 小时前
Linux Day33——定时任务+lvm
linux·运维
墨痕诉清风19 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库
byte轻骑兵19 小时前
实战 4:BlueZ 源码中添加自定义设备过滤规则
linux·物联网·bluez·电脑蓝牙·嵌入式蓝牙