飞牛 SSH 开启 ROOT 用户登录

点击查看教程

1、设置 ROOT 密码

1
2
3
sudo -i

sudo passwd root

2、取消注释并修改内容

1
2
3
4
5
6
7
8
sudo sed -i.bak \
-e 's/#Port 22/Port 22/' \
-e 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' \
-e 's/#GSSAPIAuthentication no/GSSAPIAuthentication no/' \
-e 's/#UseDNS no/UseDNS no/' \
-e 's/#ClientAliveInterval 0/ClientAliveInterval 10/' \
-e 's/#ClientAliveCountMax 3/ClientAliveCountMax 999/' \
/etc/ssh/sshd_config

3、查看修改

1
grep -E 'Port 22|PermitRootLogin|GSSAPIAuthentication|UseDNS|ClientAliveInterval|ClientAliveCountMax' /etc/ssh/sshd_config

4 、重启 ssh 服务

1
systemctl restart ssh && hostname -I | awk '{print $1}'

我用的是 FinalShell SSH,设置为 ROOT 用户登录就可以了,不用烦人的 sudo -i

具体配置配置说明
Port 22SSH 服务监听端口
PermitRootLogin yes允许 root 用户通过 SSH 登录
GSSAPIAuthentication no禁用 GSSAPI 认证以提高安全性
UseDNS no禁用 DNS 反向解析,加快 SSH 连接速度
ClientAliveInterval 10每 10 秒发送一次保活消息给客户端
ClientAliveCountMax 999允许客户端连续 999 次无响应才断开连接

FnOS 更新 docker

点击查看教程

查看docker版本

1
docker --version

FnOS 更新 docker

1
2
3
sudo apt update

sudo apt upgrade docker-ce docker-ce-cli

飞牛虚拟机 iommu 硬件直通

点击查看教程

飞牛终端执行以下命令

  1. 修改 grub 文件
1
nano /etc/default/grub
1
GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.force_probe=7d55 intel_iommu=on iommu=pt"
  1. 更新 grub 文件
1
update-grub && update-initramfs -u -k all
  1. 重启飞牛看效果
1
reboot

飞牛 NFS 共享

点击查看教程

飞牛后台配置

记录IP地址和路径: 10.10.10.254/fs/1000/nfs 下面会用到

  • Mac 和 windows 飞牛官方给出了挂载方法

debian 如何挂载飞牛 nfs 共享文件

  1. debian 安装 NFS
1
sudo apt update && sudo apt install nfs-kernel-server nfs-common -y
  1. 终端新建挂载目录
1
mkdir -pm 755 /mnt/fnos-nfs
  1. 赋予NFS配置文件可执行权限
1
chmod +x /etc/exports
  1. debian 挂载命令
1
mount -t nfs -o rw 10.10.10.254:/fs/1000/nfs /mnt/fnos-nfs
  1. 查看是否挂载成功
1
df -hT /mnt/*

debian 综合挂载命令

1
mkdir -pm 755 /mnt/fnos-nfs && chmod +x /etc/exports && mount -t nfs -o rw 10.10.10.254:/fs/1000/nfs /mnt/fnos-nfs && df -hT /mnt/*

永久挂载 NFS

1
2
3
4
sudo chmod +x /etc/exports && sudo cat >> /etc/fstab <<'EOF'

10.10.10.254:/fs/1000/nfs /mnt/fnos-nfs nfs nofail,x-systemd.device-timeout=15s 0 0
EOF
1
sudo reboot

certbot 申请证书

点击查看教程

安装 certbot

1
sudo apt update && sudo apt install certbot python3-certbot-dns-cloudflare -y

查看 certbot 版本

1
certbot --version

获取 cloudflare_api_token

创建用于验证dns‮配的‬置文件
上面在cloudflare获取到的api_token,替‮掉换‬下面的 你的api_token

1
2
3
mkdir -p /etc/letsencrypt && touch /etc/letsencrypt/domain_name.ini && cat > /etc/letsencrypt/domain_name.ini <<'EOF'
dns_cloudflare_api_token = 你的api_token
EOF

配置完成修改配‮文置‬件权限

1
chmod 600 /etc/letsencrypt/domain_name.ini

切换为api认证

  • 替换为你的@域名和‮域泛‬名
1
2
3
4
5
6
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/domain_name.ini \
--dns-cloudflare-propagation-seconds 60 \
-d example.com \
-d *.example.com
  • 第一次需要输入邮箱(用于‮期过‬提醒)

证书文件‮贝拷‬到 nginx 证书目录

1
cp /etc/letsencrypt/live/example.com/fullchain.pem  /etc/nginx/keyfile/cert.pem && cp /etc/letsencrypt/live/example.com/privkey.pem /etc/nginx/keyfile/key.pem
  • /etc/letsencrypt/live/example.com 替换为你真实‮证的‬书路径

重启 nginx 服务

1
sudo systemctl restart nginx

飞牛 Gitee 仓库

点击查看教程
  • 以下教程请修改为自己实际要提交的仓库目录和信息

Gitee 创建仓库

Git 全局设置

1
2
git config --global user.name "meimolihan"
git config --global user.email "meimolihan@gmail.com"

生成新的 SSH 密钥对

1
ssh-keygen -t ed25519 -C "your_email@example.com"

将公钥添加到 Git 服务器

1
cat ~/.ssh/id_ed25519.pub

飞牛已有仓库提交

1
cd /vol1/1000/docker/random-pic-api

将目录标记为“安全目录”

1
git config --global --add safe.directory /vol1/1000/docker/random-pic-api

创建 git 仓库

1
2
3
4
5
6
git init 
# touch README.md
git add .
git commit -m "first commit"
git remote add origin git@gitee.com:meimolihan/random-pic-api.git
git push -u origin "master"

日后更新仓库

1
2
3
4
cd /vol1/1000/docker/random-pic-api
git add .
git commit -m "update"
git push

推送脚本

这是通用脚本,放在Git仓库目录下,执行脚本会检测.git,进行提交命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
mkdir -p /vol1/1000/docker/random-pic-api && touch /vol1/1000/docker/random-pic-api/gitee-push.sh && cat > /vol1/1000/docker/random-pic-api/gitee-push.sh <<'EOF'
#!/bin/sh

# 脚本名称: deploy.sh
# 用途: 自动化部署 random-pic-api 到远程仓库
# 使用方法: 在目标目录下运行脚本

# 获取当前目录的绝对路径
TARGET_DIR=$(pwd)

# 检查目标目录是否存在
if [ ! -d "$TARGET_DIR" ]; then
echo "错误: 目标目录 $TARGET_DIR 不存在,请确认路径是否正确。"
exit 1
fi

# 进入目标目录
cd "$TARGET_DIR"

# 检查是否是 Git 仓库
if ! git status > /dev/null 2>&1; then
echo "错误: 当前目录不是一个 Git 仓库,请确认是否初始化了 Git。"
exit 1
fi

# 检查 Git 配置是否完整
if [ -z "$(git config user.name)" ] || [ -z "$(git config user.email)" ]; then
echo "错误: Git 用户名或邮箱未配置,请先配置 Git 用户名和邮箱。"
echo "例如: git config --global user.name \"Your Name\""
echo " git config --global user.email \"your.email@example.com\""
exit 1
fi

# 添加所有更改到暂存区
echo "正在添加所有更改到暂存区..."
git add .

# 检查是否有更改需要提交
if [ -z "$(git diff --cached --name-only)" ]; then
echo "没有检测到任何更改,无需提交。"
exit 0
fi

# 提交更改
echo "正在提交更改..."
git commit -m "update"

# 检查提交是否成功
if [ $? -ne 0 ]; then
echo "错误: 提交失败,请检查 Git 状态。"
exit 1
fi

# 推送到远程仓库
echo "正在推送到远程仓库..."
git push

# 检查推送是否成功
if [ $? -ne 0 ]; then
echo "错误: 推送失败,请检查网络连接或远程仓库配置。"
exit 1
fi

echo "部署成功!"
EOF

提交命令

1
cd /vol1/1000/docker/random-pic-api && ./gitee-push.sh

飞牛安装 docker-compose

点击查看教程

安装 docker-compose 命令

1
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/v2.35.1/docker-compose-linux-x86_64 && chmod +x /usr/local/bin/docker-compose && ls -l /usr/local/bin/docker-compose

查看 docker-compose 版本

1
docker-compose --version