每次在部署新的服务器时,总要到处搜索一些常用的配置流程,次数多了不如自行总结一番(Debian 系为例)。
添加非 root 用户
有些服务商的机器部署后默认给的是 root
用户,一般不建议使用 root
用户进行日常操作。否则在手滑或者意识模糊的情况下,习惯性快速输入命令,并立即回车,容易造成不可挽回的局面。
- 创建一个新用户,并设置密码:
1 | adduser example_name |
- 如果系统默认没有安装
sudo
的话,先安装上:
1 | apt install sudo |
- 然后给新添加的用户赋予
sudo
权限:
1 | adduser example_name sudo |
使用 SSH 密钥登录服务器
默认情况下,可以使用密码 SSH 登录服务器。使用加密密钥对登录相对来说更加安全,可以免密码登录(私钥可用密码加密)。
创建认证密钥对
- 在 本地 创建 4096 位的 RSA 密钥对,可以在创建的时候选择用密码加密私钥,以及自定义密钥对的名称。注意:如果选择使用默认的
id_rsa
作为文件名,先确认是否已存在相同文件名的密钥对,否则有可能将原来的文件覆盖。
1 | ssh-keygen -b 4096 |
- 将 公钥 上传到服务器上:
1 | ssh-copy-id -i id_rsa.pub example_name@hostname |
修改 SSH 服务端选项
配置文件为 /etc/ssh/sshd_config
,主要修改内容:
1 | PermitRootLogin no # 禁止 root 用户通过 SSH 登录 |
安装 Fail2Ban
Fail2Ban 可以在多次失败的登录尝试后将对应的 IP 地址拉黑。默认配置下 Fail2Ban 只监控 SSH。
删除无用的网络服务
有些发行版会默认运行一些网络服务,可以自行筛选一遍。有些服务不是主动要用到的话没有必要保留,比如 Exim,Apache 以及 RPC 等。然后可通过包管理手动移除掉不需要的服务。
1 | sudo ss -atpu |
配置防火墙
建议使用 UFW,上手简单。