服务器配置文件位于 /etc/ssh/sshd_config
sudo vim /etc/ssh/sshd_config修改项目
#修改登录端口Port ****(1024~65535)
#禁止root远程登录PermitRootLogin no
#允许用户登录(白名单模式)AllowUsers user1 user2@192.168.1.1#允许user1 user2通过ip 192.168.1.1登录SSH,其中@ip为可选项目
#禁止用户登录(黑名单模式)DenyUsers user3 user4#禁止user3 user4通过SSH登录,注意所有系统账户都应该禁止登录
#禁止密码登录PasswordAuthentication no#确认密钥登录测试OK后再关闭
#允许密钥登录PubkeyAuthentication yes#配合禁止密码登录需要防火墙开放相应端口。若当前主要使用 ufw,建议直接用 ufw 放行 SSH 端口,并确认规则已启用。
# 放行指定 SSH 端口sudo ufw allow ****/tcp
# 查看当前规则sudo ufw status
# 若 ufw 尚未启用,再执行sudo ufw enable生成ssh密钥及配置
ssh-keygen -t ed25519 -a 100 -f ./"file name" -C "comment"建议为私钥设置 passphrase,避免私钥文件泄露后被直接使用将生成的 .pub 公钥传输至服务器 ~/.ssh 文件夹cat "file name".pub >> authorized_keyschmod 600 authorized_keyschmod 700 ~/.ssh注意文件权限问题对于现代 Linux 环境,不建议再把 /etc/hosts.allow 与 /etc/hosts.deny 当作 SSH 的主要防护手段。更推荐直接使用防火墙规则、AllowUsers、密钥登录,以及按需配合 fail2ban 或 VPN / tailnet 控制访问面。