What's new
Panelica Community Forum

Welcome to the official Panelica Community Forum — the central hub for server administrators, developers, and hosting professionals. Register a free account today to access technical discussions, product announcements, feature requests, and direct support from the Panelica team. Be part of the growing community shaping the future of server management.

FTP Accounts, SSH Users, File Manager & Terminal --- Complete Guide

admin

Administrator
Staff member
FTP Accounts, SSH Users, File Manager & Terminal --- Complete Guide​

This guide covers all file access features in Panelica --- creating FTP accounts, managing SSH users, using the built-in File Manager, and the web-based Terminal.

FTP Accounts​

FTP accounts allow file transfer access to domain directories via FTP/SFTP clients like FileZilla, WinSCP, or Cyberduck.

Accessing FTP Management:
Go to Domains > click Edit > select the FTP tab.

---

Creating an FTP Account​

Step 1: Click Add FTP Account.

Step 2: Fill in the form:

FieldRequiredDescription
UsernameYesFTP login username (domain prefix added automatically)
PasswordYesFTP password (strength meter shown)
Home DirectoryYesThe directory this account can access
Quota (MB)NoDisk space limit for this account (0 = unlimited)

Step 3: Click Create. The FTP account is ready to use immediately.

Connection Details:
  • Server: Your server's IP or hostname
  • Port: 21 (FTP) or 22 (SFTP)
  • Protocol: FTP with TLS recommended, SFTP for SSH-based transfer
  • Username: The username you created

---

Managing FTP Accounts​

The FTP accounts list shows:
  • Username
  • Home directory path
  • Quota usage (used / limit)
  • Status badge (Active / Suspended)
  • Actions: Edit, Change Password, Suspend/Unsuspend, Delete

Suspending an Account: Temporarily disables FTP access without deleting the account. The user cannot connect until unsuspended.

Changing Password: Updates the FTP password. The user must use the new password for their next connection.

---

SSH Users​

SSH users have shell access to the server, allowing command-line operations, file management, and running scripts.

Accessing SSH User Management:
Go to Domains > click Edit > select the SSH tab, or go to Security > SSH Access.

---

Creating an SSH User​

Step 1: Click Add SSH User.

Step 2: Fill in the form:

FieldRequiredDescription
UsernameYesSSH login username
PasswordYesSSH password
Shell TypeYesSFTP Only (no shell) or Full Shell (bash with chroot)
Home DirectoryYesThe user's home directory

Step 3: Click Create.

Shell Types:
  • SFTP Only (sshjailed) --- User can only transfer files via SFTP. No shell access, no command execution. Safest option for file uploads.
  • Full Shell (sshfull) --- User gets a bash shell inside a chroot jail. Can run commands, but isolated from the rest of the system.

---

SSH Key Management​

Go to Security > SSH Access > Keys tab.

SSH keys provide passwordless authentication (more secure than passwords).

Adding an SSH Key:
  1. Click Add SSH Key
  2. Enter a name for the key
  3. Paste the public key (starts with ssh-rsa, ssh-ed25519, etc.)
  4. Select which user this key belongs to
  5. Click Add

Key Details Shown:
  • Key name
  • Key type (RSA, Ed25519, ECDSA)
  • Fingerprint
  • Assigned user
  • Added date
  • Last used date
  • Status (Active / Disabled)

---

SSHD Configuration (ROOT Only)​

Go to Security > SSH Access > Configuration tab.

ROOT users can configure the SSH daemon directly:

  • View/Edit sshd_config --- Full configuration editor
  • Test Config --- Validates syntax before applying
  • Restart SSH --- Applies changes by restarting the daemon
  • Backup/Restore --- Maintain configuration backups

Warning: Always test your configuration before restarting SSH. A bad configuration can lock you out of the server.

---

File Manager​

The built-in File Manager provides a web-based interface for managing files without needing an FTP client or SSH access.

Accessing File Manager:
Go to Domains > click Edit > select the Files tab, or go to Files in the main navigation.

---

File Manager Features​

Navigation:
  • Breadcrumb path bar for quick navigation
  • Directory tree in the left panel
  • File listing with icons, sizes, and modification dates
  • Sort by name, size, date, or type
  • Show/hide hidden files (dotfiles)

File Operations:

OperationDescription
Create FileCreate a new empty file or file with content
Create FolderCreate a new directory
UploadUpload files from your computer (drag & drop supported)
DownloadDownload files to your computer
EditOpen files in the built-in code editor (CodeMirror with syntax highlighting)
RenameChange file or folder name
CopyCopy files/folders to another location
MoveMove files/folders to another location
DeleteMove to trash (or permanent delete)
CompressCreate archives (zip, tar.gz)
ExtractExtract archives to a destination

Code Editor:
  • Syntax highlighting for PHP, HTML, CSS, JavaScript, Python, and more
  • Line numbers
  • Search and replace
  • Auto-indentation
  • File size displayed

---

Trash System​

Deleted files go to the trash instead of being permanently removed.

Trash Features:
  • View trashed items with original path, deletion date, and size
  • Restore individual items back to their original location
  • Permanently delete individual items
  • Empty entire trash at once
  • Trash statistics (total items, total size)

Files deleted with Permanent Delete bypass the trash and cannot be recovered.

---

Archive Management​

Compressing Files:
  1. Select one or more files/folders
  2. Click Compress
  3. Choose the archive format (zip, tar.gz)
  4. Enter the archive filename
  5. Click Create Archive

Extracting Archives:
  1. Click on an archive file
  2. Click Extract
  3. Choose the destination directory
  4. Optionally remove the archive after extraction
  5. Click Extract

Archive Info: View contents and size of an archive before extracting.

---

Web Terminal​

Panelica includes a full web-based terminal powered by xterm.js.

Accessing the Terminal:
Click Terminal in the main navigation, or use the terminal icon in the header.

Features:
  • Multi-tab support --- Open multiple terminal sessions simultaneously
  • Local terminals --- Direct server access (runs as the user's system account)
  • Remote SSH terminals --- Connect to other servers via saved SSH connections
  • Session persistence --- Terminal sessions survive page refreshes (tmux-backed)
  • Popup window --- Open terminal in a separate browser window
  • Resizable --- Adjusts columns/rows to window size
  • Full color support, copy/paste, scrollback buffer

SSH Connections:
Save frequently used SSH connections:
  • Host, port, username
  • Authentication: password or SSH key (with optional passphrase)
  • One-click connect from the terminal tab bar

Session Model:
Each terminal session stores:
  • Session type (local or remote)
  • Title (customizable)
  • Current directory
  • Window state (position, size, fullscreen)
  • Tab order
  • Activity timestamp

---

Permissions (RBAC)​

FeatureROOTADMINRESELLERUSER
FTP AccountsAllOwn users' domainsOwn users' domainsOwn domains
SSH UsersAllOwn usersOwn usersOwn only
File ManagerAll usersOwn usersOwn usersOwn files
TerminalFull accessOwn contextOwn contextOwn context
SSHD ConfigFullNoNoNo

---

Plan Limits​

Service plans control:
  • max_ftp_accounts --- Maximum FTP accounts per user (-1 = unlimited)
  • max_ssh_users --- Maximum SSH users per user
  • disk_space_mb --- Total disk space quota (enforced across FTP, files, etc.)

---

Security & Isolation​

All file access is isolated:

  • Cgroup limits --- CPU, memory, I/O, and process limits per user
  • Chroot jail --- SSH users are confined to their home directory
  • Unix permissions --- Files owned by the domain's system user (UID/GID isolation)
  • FTP quota --- Enforced per-account disk limits
  • File Manager RBAC --- Users can only access their own files

---

Troubleshooting​

Problem: FTP connection refused
  • Check that ProFTPD service is running (Services page)
  • Verify port 21 is open in Firewall Rules
  • Check if the account is suspended
  • Try SFTP (port 22) as an alternative

Problem: SSH "Permission denied"
  • Verify the username and password
  • Check if the SSH user is suspended
  • Ensure SSH key is correct (if using key auth)
  • Check shell type --- SFTP-only users cannot get a shell

Problem: File Manager shows "Access denied"
  • You can only access files belonging to your user account
  • Check file/directory permissions (should be owned by the system user)
  • ROOT can access any user's files by selecting the user first

Problem: Terminal not connecting
  • Check WebSocket connectivity (some proxies block WebSocket)
  • Ensure the backend service is running
  • Try refreshing the page
  • For remote SSH: verify the host, port, and credentials

---

Best Practices​

  1. Use SFTP instead of FTP --- SFTP encrypts the connection; plain FTP sends passwords in clear text
  2. Set FTP quotas --- Prevent users from filling up disk space
  3. Use SSH keys over passwords --- More secure and convenient
  4. Choose SFTP-only shell for upload accounts --- Don't give shell access unless needed
  5. Use the code editor for quick edits --- No need to download/upload for small changes
  6. Keep the trash clean --- Empty trash periodically to reclaim disk space
  7. Save SSH connections --- Use saved connections for frequently accessed servers
 
Back
Top