Mark's blog 这是 Mark 的个人博客,记录些东西。

Gridea 使用远程 SFTP 搭建静态博客

🤓第一次用静态博客,感觉不错哇!

👉记录下用 SFTP 方式搭建 Gridea

💥💥💥

可以直接用 root 用户,不过太危险了,推荐按以下方式创建一个限制权限的新用户。

1️⃣ 使用 groupadd 命令给 sftp 创建一个组

打开终端,ssh连接到服务器。

使用下面的 groupadd 命令创建一个名为的 sftp_users 组:

groupadd sftp_users

2️⃣ 添加用户到组 sftp_users 并设置权限

假设你想创建新的用户gridea,并且想添加该用户到 sftp_users 组中,那么运行下面的命令,

useradd -m -G sftp_users gridea

使用下面的 chpasswd 命令设置密码:

echo "gridea:<输入密码>" | chpasswd

现在设置用户所需的权限:

chown root /home/gridea

在家目录中创建一个上传目录,并设置正确地所有权:

mkdir /home/gridea/upload
chown gridea /home/gridea/upload

3️⃣ 编辑 sftp 配置文件 /etc/ssh/sshd_config

sftp 操作是通过 ssh 完成的,所以它的配置文件是 /etc/ssh/sshd_config,在做任何更改前,建议首先备份文件,然后再编辑该文件,接下来添加下面的内容:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config-org
vim /etc/ssh/sshd_config

#注释这行Subsystem      sftp    /usr/lib/openssh/sftp-server

#末尾添加下面几行
Subsystem   sftp    internal-sftp
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

重新启动 ssh 服务:

systemctl restart sshd

4️⃣ 客户端配置

5️⃣ Nginx

点击同步后,可以检查下是否上传成功。

接着安装 Nginx,配置 .conf 文件。

附: Nginx .conf配置内容参考:

server {
    listen 80;
    listen [::]:80;
    server_name 009898.xyz;
    return 301 https://$server_name:443$request_uri;
}
server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name 009898.xyz;
    charset utf-8;

    # ssl配置
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_ecdh_curve secp384r1;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_session_tickets off;
    ssl_certificate /root/bbbb.pem;
    ssl_certificate_key /root/bbbb.key;

    root /home/gridea/upload;
    location / {
    }
}
By Mark On