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 -atupnmap remote_host 发现服务。
  • 使用 apt purge package_name 移除服务。

配置 UFW

TODO: https://www.linode.com/docs/security/firew...

日常运维基础

TODO: https://www.linode.com/docs/tools-referenc...

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!