[EP-17] 自己在 Zeabur 上架設 n8n ,結果密碼忘記了,該怎麼辦
在 Zeabur 上部署 n8n 固然方便,但是也得記得做好該有的設定,避免因為一時腦殘忘記密碼,造成不可恢復的損失。這篇文章教你如何透過 Zeabur 後台修改 n8n 密碼,並且使用 Gmail 設定密碼救援機制。
我的 n8n 是最近才在 Zeabur 上部署的,部署後我也沒有做任何設定,就直接開始使用。登入密碼就記錄在我的筆電上。
最近換了一台電腦,舊筆電放在公司,結果早上想設 n8n 工作流時,發現我忘記密碼。於是我按下 Forgot My Password ,發現我根本沒有設定過郵件發送功能,當然無法寄信。
n8n 是自己架設的,大可以砍掉再重新架設一次,但是這麼做有點瞎,之前設定的資料都會全部消失。
但是正因為 n8n 是自己架設的,要把重設密碼也相對簡單,方法有許多個,底下介紹其中一個方法。
搜尋 n8n 上的 postgresql 資料庫,找到自己的帳號
n8n 在 Zeabur 上部署時,會同時部署兩個服務,一個是 n8n ,一個是postgresql。
找到 postgresql ,找到資料庫欄位,再點擊「執行 SQL 指令」,確認你的帳號是否真的在指定的資料欄位。
注意這裡的 SQL 指令會隨著你資料庫結構有所不同而有變化。你要先確認你的資料表是否在 zeabur.public.user ,如果你是設定在本機,那也許你是放在 public.user 。
SELECT id, email FROM zeabur.public.user;
手動重設密碼
在自己的電腦上執行以下Python 程式,取得 bcrypt 加密密碼。
import bcrypt
print(bcrypt.hashpw("你想設定的新密碼".encode(), bcrypt.gensalt()).decode())
接著回到 Zeabur 的 postgresql 服務,找到資料庫欄位,再點擊「執行 SQL 指令」。
UPDATE zeabur.public.user
SET password='bcrypt 加密密碼'
WHERE email='你的帳號';
這樣就重置密碼了!
趕快來設定 n8n 的密碼救援機制吧!
為了避免再次產生悲劇,還是趕快來設定 n8n 的密碼救援機制。
這裡以 Gmail SMTP 來示範。
登入 Google 帳戶,找到安全性設定:https://myaccount.google.com/security
先確認自己是否啟用 2 步驟驗證後,接著設定「應用密碼」。
Google 似乎把它隱藏起來了,所以請直接點此連結:應用密碼頁面。
輸入應用程式名稱: n8n,點擊建立後會產生一組密碼,記得複製。
回到 Zeabur ,
找到 n8n 的環境變數,輸入以下環境變數。
N8N_SMTP_HOST=smtp.gmail.com
N8N_SMTP_PORT=465
N8N_SMTP_USER=你的 Gmail 帳號
N8N_SMTP_PASS=剛剛獲取的 16 位密碼
N8N_SMTP_SENDER=你的 Gmail 帳號(或其他顯示名稱)
N8N_SMTP_SSL=true
測試是否成功,請登出 n8n 測試看看吧!
成功在信箱收到密碼救援信件!