An SSH key is a pair of files that proves who you are when you log in to a server over SSH. The private key stays on your computer and is never shared; the public key goes on the server. This guide shows how to create a key on Windows, macOS and Linux, how to make one in PuTTYgen if you use PuTTY, and where to add the public key on Domain India hosting.
Run ssh-keygen -t ed25519 -C "[email protected]" in Terminal (macOS, Linux) or PowerShell (Windows 10 and 11), accept the default location and set a passphrase. Two files appear: id_ed25519 (private, keep it secret) and id_ed25519.pub (public, safe to share). Add only the .pub key to your hosting account. SSH login on Domain India shared hosting is key-only, so you need a key before you can connect.
1. Why you need a key on Domain India hosting
Jailed SSH access is available on every shared hosting plan (cPanel, DirectAdmin, Webuzo). It is off by default; ask support to enable it for your account. Once it is on, you log in with a key: password login over SSH is switched off on our cPanel and DirectAdmin servers (measured 23 September 2026), and you should use a key on Webuzo too. Your control panel password will not work over SSH.
Keys are also simply safer. A password travels to the server every time you log in and can be guessed; a private key never leaves your computer, and an ed25519 key cannot realistically be guessed.
2. Which key type to choose
| Key type | Use it when | Command option |
|---|---|---|
| Ed25519 | Almost always: short, fast and secure | -t ed25519 |
| RSA 4096 | An old tool or system cannot read Ed25519 keys | -t rsa -b 4096 |
Avoid RSA keys shorter than 3072 bits and the old DSA type; modern SSH software rejects or warns about them.
3. Create a key on macOS or Linux
Both include the ssh-keygen tool. Open Terminal and run:
ssh-keygen -t ed25519 -C "[email protected]"The -C text is only a label that helps you recognise the key later; your email or "office-laptop" both work.
- Accept the location.Press Enter to save to the default
~/.ssh/id_ed25519. If a key already exists there, choose a new name instead of overwriting it, for example~/.ssh/id_ed25519_hosting. - Set a passphrase.Type a passphrase and confirm it. It protects the key if your computer is lost or copied. Nothing appears on screen as you type; that is normal.
- Find your public key.Run
cat ~/.ssh/id_ed25519.pub. It is one line starting withssh-ed25519. This is the text you add to your hosting account.
To avoid typing the passphrase on every login, load the key into the SSH agent for your session:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519On macOS, ssh-add --apple-use-keychain ~/.ssh/id_ed25519 stores the passphrase in your Keychain.
4. Create a key on Windows 10 or 11
Windows 10 and 11 include the OpenSSH client. Open PowerShell or Windows Terminal and run the same command:
ssh-keygen -t ed25519 -C "[email protected]"Accept the default location and set a passphrase. The keys are saved in the .ssh folder inside your user folder, for example C:\Users\YourName\.ssh\id_ed25519 and id_ed25519.pub. Show the public key with:
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pubIf PowerShell says ssh-keygen is not recognised, add the client under Settings › System › Optional features › OpenSSH Client (in Windows 10, Settings › Apps › Optional features), then open a new PowerShell window.
5. Create a key with PuTTYgen (for PuTTY users)
PuTTY stores private keys in its own .ppk format. PuTTYgen is installed with PuTTY.
- Choose the type.Open PuTTYgen and select EdDSA, with Ed25519 in the curve list.
- Generate.Click Generate and move the mouse over the blank area until the bar fills.
- Set a passphrase.Type it in Key passphrase and Confirm passphrase.
- Save the private key.Click Save private key and keep the
.ppkfile somewhere only you can reach. PuTTY loads it under Connection › SSH › Auth › Credentials. - Copy the public key.Copy all the text in the box Public key for pasting into OpenSSH authorized_keys file. That single line, starting with
ssh-ed25519, is what you add to your hosting account.
Already have an OpenSSH key and want to use it in PuTTY? In PuTTYgen, use Conversions › Import key, then Save private key to get a .ppk. To go the other way, use Conversions › Export OpenSSH key.
Only the public key (the .pub file, or PuTTYgen's "public key for pasting" text) ever leaves your computer. Never email, upload or paste the private key into a ticket or chat, including to Domain India support. Support will never ask for it.
6. Add the public key to your hosting account
Once support has enabled SSH on your account:
- cPanel: open Security › SSH Access › Manage SSH Keys, choose Import Key and paste the public key. Then click Manage next to the key and Authorize it. An imported key that is not authorised will not work.
- DirectAdmin and Webuzo: with the File Manager, create the folder
.sshin your home folder (permission 700) and a fileauthorized_keysinside it (permission 600), and paste the public key as one line. - Any panel: send support your public key and ask them to add it.
Then connect with ssh -i ~/.ssh/id_ed25519 -p 22 [email protected]. Your username and server IP are on the Access tab of your hosting service in the client area. The full walkthrough is in enabling and accessing jailed SSH.
7. Keep your keys safe
8. Where Domain India fits
Every cPanel, DirectAdmin and Webuzo plan can have jailed SSH on request, and your key works for SFTP too. For root access on a server of your own, a VPS uses the same kind of key. Prices on the card are live and exclude 18% GST.
- 25 GB NVMe SSD Storage
- 50 GB Monthly Bandwidth
- 1 Website
- 10 Email Accounts
What command creates an SSH key?
Run ssh-keygen -t ed25519 -C "a label" in Terminal on macOS or Linux, or in PowerShell on Windows 10 and 11. Accept the default location and set a passphrase.
Which file do I give to my hosting provider?
Only the public key, the file ending in .pub, such as id_ed25519.pub. The private key, without .pub, never leaves your computer.
Should I use Ed25519 or RSA?
Ed25519 for almost everything. Use RSA with 4096 bits only if an old tool cannot read Ed25519 keys.
Do I need an SSH key for Domain India shared hosting?
Yes, if you want to use SSH. Password login over SSH is switched off on our cPanel and DirectAdmin servers, so you log in with a key. SSH is off by default; ask support to enable it for your account.
How do I use my key with PuTTY?
PuTTY needs the private key in .ppk format. Create one in PuTTYgen, or convert an existing OpenSSH key with Conversions, Import key, then load it under Connection, SSH, Auth, Credentials.
What if I lose my private key?
Create a new key pair, add the new public key to your account, and remove the old public key. A lost key cannot be recovered.
Ready to connect? Ask support to enable SSH by opening a ticket or on live chat, then follow enabling and accessing jailed SSH to add your key and log in.
Tell us your domain and, if you like, your public key. Support switches on jailed SSH for your account and confirms when it is ready.
Ask support to enable it