Ubuntu 服务器初始化
设置 SSH 公钥登录
本地执行:
ssh-keygen -b 4096 # 本地没有 SSH 密钥对时执行
brew install ssh-copy-id # 本地没有 ssh-copy-id 时执行
ssh-copy-id remote_username@remote_host
安装更新
如果出现提示,选择「keep the local version currently installed」。
sudo apt update
sudo apt -y upgrade
设置主机名称
HOSTNAME=your-hostname
sudo hostnamectl set-hostname $HOSTNAME
# echo "127.0.0.1 $HOSTNAME" | sudo tee -a /etc/hosts
设置时区
sudo timedatectl set-timezone UTC
sudo timedatectl set-local-rtc 0
sudo timedatectl set-ntp 1
创建用户
adduser username
adduser username sudo
配置 SSH
编辑 /etc/ssh/sshd_config
。
禁止使用 root 用户登录
PermitRootLogin no
禁止使用密码登录
PasswordAuthentication no
限制只监听 IPv4
SSH 默认同时监听 IPv4 和 IPv6。
echo 'AddressFamily inet' | sudo tee -a /etc/ssh/sshd_config # inet 改为 inet6 即为只监听 IPv6
重启 SSH 服务
systemctl restart sshd
安装 Fail2Ban
TODO: https://www.linode.com/docs/security/using...
删除不使用的网络服务
- 使用
ss -atup
或nmap remote_host
发现服务。 - 使用
apt purge package_name
移除服务。
配置 UFW
TODO: https://www.linode.com/docs/security/firew...
日常运维基础
TODO: https://www.linode.com/docs/tools-referenc...
本作品采用《CC 协议》,转载必须注明作者和本文链接