设置ssh密码登录
这份操作记录面向需要在 Linux 服务器上临时或明确启用 SSH 密码登录的场景,核心目标是修改 OpenSSH 服务端配置,使其监听 2222 端口、允许 root 直接登录,并开启密码与 PAM 相关认证。正文先通过备份 /etc/ssh/sshd_config 保留回退点,再用重写配置文件的方式设置 Port、PermitRootLogin、PasswordAuthentication、ChallengeResponseAuthentication、UsePAM 和 sftp 子系统路径,随后用 passwd 为 root 设置密码并重启 ssh 服务使配置生效。由于开放密码登录和 root 登录会增加暴力破解风险,记录进一步补充了 fail2ban 的安装与基础防护配置,用于对 SSH 登录失败行为进行自动封禁。fail2ban 部分强调不要直接修改 jail.conf,而是在 /etc/fail2ban/jail.local 中覆盖默认项,设置 systemd 后端、3600 秒封禁时间、600 秒检测窗口、5 次最大重试,并将 sshd jail 的端口同步为 2222。最后给出重启、启用 fail2ban 以及查看 sshd jail 状态的命令,并记录当 status sshd 提示 jail 不存在时,可安装 python3-systemd 作为排查处理方向。整体更适合有基础 Linux 运维经验、需要快速恢复密码登录或为非标准 SSH 端口增加基础防护的用户参考,但实际使用时仍应谨慎评估 root 密码登录带来的安全边界。
目录#
[[toc]]

设置ssh 密码登录#
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
root@DMIT-ekXdcJp4HS:~# cat > /etc/ssh/sshd_config << 'EOF'
Port 2222
PermitRootLogin yes
PasswordAuthentication yes
ChallengeResponseAuthentication yes
UsePAM yes
Subsystem sftp /usr/lib/openssh/sftp-server
EOF
root@DMIT-ekXdcJp4HS:~#
然后设置密码即可:
sudo passwd root
然后重启服务
sudo systemctl restart ssh
安装 fail2ban#
安装 fail2ban
sudo apt update
sudo apt install -y fail2ban
不要直接改 jail.conf,而是在 /etc/fail2ban/ 下新建一个 jail.local 覆盖默认设置:
vim /etc/fail2ban/jail.local
[DEFAULT]
backend = systemd
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = 2222
filter = sshd
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
查看日志
sudo fail2ban-client status sshd
遇到这个错误的话:
root@s52281 ~ # sudo fail2ban-client status sshd
2026-01-24 07:43:28,808 fail2ban [145026]: ERROR NOK: ('sshd',)
Sorry but the jail 'sshd' does not exist
安装服务
root@s52281 ~ # sudo apt install python3-systemd
评论
还没有评论,来发第一个吧