1. SFTP (SSH File Transfer Protocol — Port 7005)
Since SSH is already available on port 7005, SFTP works out of the box with no extra configuration.
Connect:
sftp -P 7005 username@webserver.ultrawebhosting.com
```
**Upload files:**
```
cd public_html
put index.html
put -r my-site/
bye
One-liner upload without entering interactive mode:
echo "put index.html" | sftp -P 7005 -b - username@webserver.ultrawebhosting.com:public_html/
2. FTPS (FTP over Explicit TLS — Port 21)
cPanel uses explicit TLS on port 21 by default. lftp handles this well from the command line.
Connect:
lftp -u username ftps://webserver.ultrawebhosting.com
```
If prompted about certificate trust, you can add this to `~/.lftprc` to accept it:
```
set ssl:verify-certificate no
```
**Upload files once connected:**
```
cd public_html
put index.html
# Upload an entire directory:
mirror -R ./my-site/ .
bye
Alternative using curl for a quick single-file upload:
curl -T index.html --ssl-reqd --user username:password ftp://webserver.ultrawebhosting.com/public_html/
3. Plain FTP (Unencrypted — Port 21)
Plain FTP sends credentials in cleartext, so only use this on a trusted network or as a last resort.
Connect:
ftp webserver.ultrawebhosting.com
```
You'll be prompted for your username and password.
**Upload files once connected:**
```
cd public_html
put index.html
# For multiple files:
mput *.html
# Toggle binary mode for non-text files:
binary
put image.png
bye
Note: cPanel may have plain FTP disabled in favor of FTPS. If the connection is refused or immediately closed, the server is enforcing TLS — use FTPS or SFTP instead.
