Introduction

A cPanel account transfer can move the website successfully while SFTP access stops working for one or more users. In many cases, the main account still exists, but additional SFTP accounts were not recreated cleanly, their home directories now point to the wrong path, or shell and chroot settings no longer match the new server. This creates a confusing situation where the website works but file access appears broken.

Treat this as an account-definition problem instead of a generic password failure. Start by proving which SFTP users should exist on the destination server, then confirm where each one is supposed to land and whether the new host still allows that access model. This issue commonly appears after cPanel-to-cPanel transfers, server migrations, or account restores from backup.

The problem is particularly common when cPanel accounts have additional FTP or SFTP accounts configured for different users or departments. While the main cPanel account typically transfers correctly, additional accounts created through cPanel's "FTP Accounts" interface may not migrate completely, leaving users unable to access their designated directories.

Symptoms

  • SFTP users that existed before the transfer are missing from cPanel or the server
  • Login works for the main cPanel user, but additional SFTP accounts fail with authentication errors
  • SFTP clients connect but land in the wrong folder after the transfer
  • A migrated SFTP account now gets permission denied on paths it used before
  • Only some transferred SFTP users are broken while others still work
  • The issue started immediately after cPanel migration, restore, or account move
  • Error messages indicate "access denied," "permission denied," or "no such directory"
  • File upload or download operations fail despite successful login
  • Directory listings show different files than expected on the new server
  • Users can connect but cannot perform expected file operations

Common Causes

  • Additional SFTP accounts were not restored during the transfer and need to be recreated manually
  • The migrated account now uses a different home-directory path than the old server (e.g., /home/user/ vs /home2/user/)
  • The SFTP user is mapped to a directory that no longer exists on the destination host
  • Shell or chroot settings changed during the migration, preventing proper SFTP confinement
  • Passwords, SSH keys, or account state were not carried over cleanly during the transfer
  • The new server uses a different SFTP or jailed-shell policy than the old one
  • User UID/GID mapping changed during the transfer, causing permission issues
  • The transfer was performed without the "FTP accounts" option selected

Step-by-Step Fix

  1. 1.Confirm which SFTP users should exist by comparing the new server with the old account records or backup, because you need an exact list before deciding whether the problem is missing accounts or broken access. Check the "FTP Accounts" section in cPanel on both servers.
  2. 2.Check the destination cPanel or server configuration for each expected SFTP user, because transferred sites often arrive without the additional account definitions being recreated. In cPanel, go to "FTP Accounts" and look for each username.
  3. 3.Verify the home directory assigned to each SFTP account on the new server, because path changes during migration can leave a user pointed at a folder that no longer exists or is no longer correct. The path should match the intended directory under public_html or the appropriate document root.
  4. 4.Confirm that the mapped directory actually exists and belongs to the right account context, because an SFTP login can succeed but still fail immediately when the user lands in a missing or inaccessible path. Use ls -la /home/user/public_html/target-dir to verify.
  5. 5.Review shell, jailed-shell, or chroot behavior for the migrated users, because a different server policy can make a previously valid SFTP account stop working or expose the wrong directory tree. Check "Manage Shell" in WHM for the account settings.
  6. 6.Reset the affected SFTP password or reapply the intended authentication method if there is any doubt about transfer integrity, because restored credentials do not always remain usable after an account move. Use cPanel's "Change Password" for each FTP account.
  7. 7.Test with one affected SFTP account using a clean client session and verify the exact landing directory, because that separates authentication success from directory-mapping failure. Use sftp -v user@server for verbose output.
  8. 8.Compare one working SFTP user with one broken user on the same server, because differences in home path, shell, or ownership usually show which part of the restore went wrong. Check the /etc/passwd entries for both users.
  9. 9.Document the final SFTP account list, directory mappings, and access model after recovery, because additional SFTP users are easy to miss during future cPanel transfer validation.

Verification

Confirm the fix is working:

  1. 1.Log in with each SFTP account and verify the landing directory matches expectations
  2. 2.Test file upload and download operations for each user
  3. 3.Verify users can only access their designated directories (chroot is working)
  4. 4.Confirm directory permissions allow the expected operations (read, write, delete)
  5. 5.Test from multiple SFTP clients to ensure broad compatibility

Prevention

To avoid this issue in future cPanel transfers:

  • Document all additional FTP/SFTP accounts before initiating a transfer
  • Use the "Select all" option in cPanel transfer tools to include FTP accounts
  • Verify SFTP access immediately after transfer completion, not days later
  • Keep a backup of FTP account configurations including usernames and directory mappings
  • Test at least one additional SFTP account during migration validation
  • Document the expected home directory paths for each SFTP user
  • Consider using SSH keys for SFTP access which may transfer more reliably
  • [Fix Cpanel Account Suspended Inode Limit Exceeded Issue in Hosting](cpanel-account-suspended-inode-limit-exceeded)
  • [Fix Fix Addon Domain Showing Default Site After Cpanel Account Transfer Issue in Hosting](fix-addon-domain-showing-default-site-after-cpanel-account-transfer)
  • [Fix Fix App Still Writing To Old S3 Bucket After Migration Issue in Hosting](fix-app-still-writing-to-old-s3-bucket-after-migration)
  • [Fix Fix CI Pipeline Still Deploying To Old Server After Migration Issue in Hosting](fix-ci-pipeline-still-deploying-to-old-server-after-migration)
  • [Fix Fix Cloudlinux Lve Limit Hits After Cpanel Account Transfer Issue in Hosting](fix-cloudlinux-lve-limit-hits-after-cpanel-account-transfer)

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "TechArticle", "headline": "How to Fix SFTP Accounts Missing After cPanel Account Transfer", "description": "Restore SFTP accounts after a cPanel transfer by checking account migration, home path mapping, chroot behavior, shell access, and password state.", "url": "https://www.fixwikihub.com/fix-sftp-accounts-missing-after-cpanel-account-transfer", "publisher": { "@type": "Organization", "name": "FixWikiHub", "url": "https://www.fixwikihub.com" }, "author": { "@type": "Person", "name": "FixWikiHub Editorial Team" }, "datePublished": "2025-10-31T11:43:32.278Z", "dateModified": "2025-10-31T11:43:32.278Z" } </script>