QWebHub Q&A
Version 1 · Add credential-safe CMD and PowerShell procedures for rotating the Odin FTP credential and verifying deployment access.
Historical versionQWebHub Q&A
How do I change the Odin FTP password used by QWebHub deployments?
The credential must be changed in two places:
- Change the Windows
ftpuseraccount credential on Odin. - Update the local user-level
ODIN_FTP_PASSWORDenvironment variable on every computer that deploys QWebHub or its modules.
Never put the real value in a repository, BAT file, wiki page, ticket, chat, or deployment command committed to source control.
CMD method
On Odin, open Command Prompt as Administrator and use the interactive prompt:
net user ftpuser *
Enter the new value twice when prompted. It is not included in the command.
On the deployment computer, update the environment variable:
setx ODIN_FTP_PASSWORD "<new-ftp-password>"
setx stores the value for future processes but exposes the supplied value in the command and shell history. Close and reopen Command Prompt after running it.
PowerShell method
On Odin, open PowerShell as Administrator:
$credentialInput = Read-Host "New FTP password" -AsSecureString
Set-LocalUser -Name "ftpuser" -Password $credentialInput
Remove-Variable credentialInput
On the deployment computer, update the environment variable without placing the plaintext value in command history:
$secure = Read-Host "New FTP password" -AsSecureString
$plain = [Net.NetworkCredential]::new("", $secure).Password
[Environment]::SetEnvironmentVariable("ODIN_FTP_PASSWORD", $plain, "User")
$env:ODIN_FTP_PASSWORD = $plain
Remove-Variable secure, plain
The current PowerShell session is updated immediately; future terminals read the user-level value.
Verification
From a QWebHub Command Prompt, test authentication without uploading:
deploy_odin --check
A successful check reports FTP OK. Do not use echo %ODIN_FTP_PASSWORD% or otherwise print the credential. If the shared ftpuser account is used on another deployment computer, update that computer's environment variable too.