双重身份验证是在传统“用户名 + 密码“的基础上,增加第二种验证方式的安全机制。通过这种方式,即使密码泄露,他人也无法仅凭密码登录账户,从而大幅提升账户安全性。n8n 支持通过身份验证器应用程序(如Google Authenticator、Microsoft Authenticator等)实现2FA。接下来将由站长百科为大家详细介绍n8n双重身份验证(2FA)的使用指南。
一、在n8n中启用2FA
前提条件:请先在手机上安装任意一款身份验证器应用。
操作步骤如下:
1、登录n8n账户,进入“设置“→“个人“页面。
2、点击“启用2FA“选项,系统将弹出包含二维码的窗口。
3、打开手机上的身份验证器应用,使用“扫描二维码“功能扫描页面中的二维码。
6、在应用中生成 6位动态验证码后,将其输入到n8n的“来自身份验证器应用的代码“输入框中。
7、点击“继续“,系统将显示一组恢复代码。请务必将这些代码保存到安全位置 —— 若日后丢失身份验证器设备,需凭借恢复代码重新获取账户访问权限。
二、如何为n8n实例禁用2FA
对于自托管用户,可通过配置环境变量禁用实例层面的2FA(注意:已启用2FA的现有用户不受此设置影响)。具体操作如下:
在环境变量中设置 N8N_SECURITY_REQUIRE_TWO_FACTOR_AUTHENTICATION=false。
三、在n8n中禁用2FA
n8n自托管用户可以将其n8n实例配置为为所有用户禁用2FA,方法是设置为false。请注意,如果现有用户启用了2FA,n8n会忽略此情况。
n8n支持通过环境变量调整系统设置,以下是不同部署方式的配置方法:
1、命令行设置环境变量
npm部署:
在终端中使用export命令设置变量,格式为:
export <变量名>=<值>
示例:
export N8N_TEMPLATES_ENABLED=”false”
Docker 部署:
在启动命令中通过 -e 标志指定变量,格式为:
docker run -it –rm \
–name n8n \
-p 5678:5678 \
-e N8N_TEMPLATES_ENABLED=”false” \
docker.n8n.io/n8nio/n8n
2、通过配置文件设置环境变量
若需批量配置变量,可创建 JSON 格式的配置文件:
npm部署:
通过 N8N_CONFIG_FILES 变量指定文件路径(支持单个或多个文件,用逗号分隔):
# 单个文件
export N8N_CONFIG_FILES=/路径/my-config.json
# 多个文件
export N8N_CONFIG_FILES=/路径/config1.json,/路径/config2.json
配置文件示例:
{
“executions”: {
“saveDataOnSuccess”: “none”
},
“generic”: {
“timezone”: “Asia/Shanghai” # 示例:设置时区为上海
},
“nodes”: {
“exclude”: [“n8n-nodes-base.executeCommand”, “n8n-nodes-base.writeBinaryFile”]
}
}
Docker 部署:
在 docker-compose.yaml 文件的 environment 字段中配置:
n8n:
environment:
– N8N_TEMPLATES_ENABLED=false
3、敏感数据的安全配置
为避免在环境变量中直接存储敏感信息(如数据库密码、凭证等),可通过 _FILE 后缀指定从文件加载数据。示例:
CREDENTIALS_OVERWRITE_DATA_FILE=/路径/credentials_data
DB_POSTGRESDB_PASSWORD_FILE=/路径/db_password
此方式支持从 Docker Secrets、Kubernetes Secrets 等安全存储中读取数据。




