🤓第一次用静态博客,感觉不错哇!
👉记录下用 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 / {
}
}