在 Debian 系统中,“隐藏域名”通常指不让系统对外暴露主机名(hostname)或域名(FQDN),比如 SSH 登录提示、邮件头、HTTP 响应、日志等。下面按常见场景给你一套实用的做法。
| 场景 | 实际含义 |
|---|---|
SSH 登录显示 user@hostname |
主机名 |
hostname -f 显示域名 |
FQDN |
| 邮件服务器暴露域名 | mailname |
| Web 服务暴露服务器信息 | HTTP Header |
| WHOIS / DNS | 域名本身 |
hostnamectl set-hostname newname
或手动编辑:
nano /etc/hostname
重启或执行:
hostname newname
/etc/hosts(非常关键)避免系统自动拼出域名:
nano /etc/hosts
✅ 推荐写法:
127.0.0.1 localhost
❌ 不推荐:
127.0.0.1 debian.example.com debian
nano /etc/hostname
只保留短名,例如:
server
然后确认:
hostname
hostname -f
nano /etc/ssh/sshd_config
添加或修改:
PrintMotd no
PrintLastLog no
重启 SSH:
systemctl restart ssh
nano /etc/issue.net
清空或自定义内容。
nano /etc/mailname
改为:
localhost
nano /etc/postfix/main.cf
myhostname = localhost
mydestination = localhost
server_tokens off;
ServerTokens Prod
ServerSignature Off
nano /etc/os-release
nano /etc/issue
nano /etc/issue.net
谨慎修改,避免影响软件依赖。
如果你是想不让别人通过 IP 查到域名:
none)这通常需要你的 VPS / 机房配合
✅ 推荐组合:
/etc/hosts 不写域名你可以直接告诉我:
我可以给你一份针对你场景的最小化配置清单。