云服务器初始化脚本
在本地 hosts 中设置 `
ssh免密登录
- 确保服务器的ssh服务已安装,若没有安装在安装ssh服务。
sudo apt install openssh-server
- 设置ssh服务的配置文件。确保一下内容去掉了注释。
sudo vim /etc/ssh/sshd_config
找到以下内容,并去掉注释符”#“
=========================
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
=========================
- 配置ssh用户的
.ssh/authorized_keys
文件。若~/.ssh/authorized_keys
不存在,则建立.ssh文件夹和authorized_keys文件。将要免密电脑的id_rsa.pub
的内容追加到~/.ssh/authorized_keys
中.
cat id_rsa.pub >> ~/.ssh/authorized_keys
- 配置文件的权限。
chmod 600 ~/.ssh/authorized_keys
#设置.ssh目录权限
chmod 700 -R ~/.ssh
- 重启sshd服务。
sudo service sshd restart
# sudo systemctl restart sshd
附录: 要免密电脑的id_rsa.pub
的路径通常位置为~/.ssh/id_rsa.pub
。 若不存在则需要生成,通常使用的生成ssh公私钥的命令为ssh-keygen -t rsa -C 邮箱地址
。ssh-keygen
命令在windows11、linux、macos中默认安装,可以直接使用。
公钥信任
# 生成公钥
ssh-keygen -t rsa -P ''
[johan@iZuf61fxudjflq5eqyrnwpZ ~]:~$ ssh-keygen
...
The key fingerprint is:
SHA256:IeFPfrcQ3hhP64SRTAFzGIHl2ROcopl5HotRi2XNOGk [johan@iZuf61fxudjflq5eqyrnwpZ ~]
The key's randomart image is:
+---[RSA 2048]----+
| .o*@=o |
| ..oEB=o |
| o@=+O . |
| B=+o @ . |
| =So* * |
| . o. = . |
| o |
| |
| |
+----[SHA256]-----+
# 查看公钥
cat .ssh/id_rsa.pub
# 将公钥拷贝到服务器
scp ~/.ssh/id_rsa.pub root@47.102.152.XXX:/root
# 将公钥加入信任列表
cat id_dsa.pub >> ~/.ssh/authorized_keys
ssh-copy-id root@server1 #
Node:https://nodejs.org/zh-cn/download/package-manager
git:sudo apt install -y git vim
先下载 cnpm,不然下载速度和墙的原因访问不了其他的包
npm install -g cnpm --registry=https://registry.npmmirror.com
pnpm(包管理库)
下载 zsh
配置 zsh
解决 zsh: command not found: node
vim .zshrc
source ~/.bashrc
Linux 管理员的一个重要任务是保护服务器免受非法攻击或访问。 默认情况下,Linux 系统带有配置良好的防火墙,比如iptables、Uncomplicated Firewall(UFW),ConfigServer Security Firewall(CSF)等,可以防止多种攻击。
- 部署方案规划
- 待部署项目分析
- 选购及备案域名
- 厂商对比与选配阿里云服务器
- 初步 SSH 无密码登录连接和配置
- 搭建 Nodejs/MongoDB/Nginx 环境
- 配置 IPTables/Fail2Ban 防火墙及主动防御
- 域名 DNS 转移及 A 记录/CNAME 解析配置
- MongoDB 角色配置与安全规则设置
- 线上 MongoDB 单表单库导入导出与跨机迁移备份上传
- PM2 发布环境配置
- 服务器与 Git 仓库读写配置
- PM2 一键部署线上 Nodejs 项目
- 电影网站/ReactNative App 后台/微信公众号/微信小程序后台等项目实战部署
- SSL 证书申请及 Nginx 证书集成提供 HTTPS 协议
- 上线方案复盘总结
防火墙
下载(firewalld 或者 ufw)
1、更新软件包
sudo apt update
2、安装 UFW
sudo apt install ufw
3、如果你在远程位置连接你的服务器,在启用 UFW 防火墙之前,你必须显式允许进来的 SSH 连接。否则,你将永远都无法连接到机器上。
sudo ufw allow 22/tcp
如果 SSH 运行在非标准端口,你需要将上述命令中的 22 端口替换为对应的 SSH 端口。
4、放开 1Panel 系统端口。
sudo ufw allow 8090/tcp
上述命令中的 8090 端口需要替换为安装 1Panel 系统时自定义的端口。
5、启动 UFW
sudo ufw enable
开启 Fail2ban
1、安装 Fail2ban
sudo apt-get install fail2ban
2、Debian 12 及以上的版本需要手动安装 rsyslog
sudo apt-get install rsyslog
3、启动 Fail2ban 服务
sudo systemctl start fail2ban
4、开机自启动
sudo systemctl enable fail2ban
5、查看 Fail2ban 服务状态。
sudo systemctl status fail2ban