nginx-basic-http-auth

Понадобится программа htpasswd из пакета apache2-utils:

sudo apt install apache2-utils

Дальше создай пустой файл, где будут храниться username и хешированные пароли:

sudo touch /etc/nginx/htpasswd

Добавление пользователя в /etc/nginx/htpasswd:

sudo htpasswd /etc/nginx/htpasswd <username>
# nginx-basic-http-auth
# Добавить можно много пользователей

Проверь файл:

cat /etc/nginx/htpasswd

Удалить юзера можно так:

sudo htpasswd -D /etc/nginx/htpasswd <username>

Теперь nginx.
Добавь строки в /etc/nginx/sites-available/default в блоке server:

server {
	location /files {
		auth_basic "Restricted";
		auth_basic_user_file /etc/nginx/htpasswd;
	}
}

Подтянем конфиги:

sudo systemctl reload nginx

nginxbasic-http-auth