SSH Key Authentication
AbeBooks FTP services support SSH public key authentication as an alternative to username and password credentials. This provides stronger security because no secrets are transmitted with each connection.
SSH key authentication is supported by:
Overview
With SSH key authentication, you generate a key pair on your machine — a private key (which stays with you) and a public key (which you upload to AbeBooks). When you connect to the FTP server, the key pair verifies your identity without transmitting a password.
Step 1: Generate a key pair
If you don't already have an SSH key pair, generate one using the ssh-keygen command:
ssh-keygen -t ed25519 -C "your-label@example.com"When prompted, choose a location to save the key and optionally set a passphrase (recommended).
This creates two files:
~/.ssh/id_ed25519, your private key (keep this secret)~/.ssh/id_ed25519.pub, your public key (upload this to AbeBooks)
RSA keys (minimum 2048-bit) are also supported:
ssh-keygen -t rsa -b 4096 -C "your-label@example.com"Step 2: Upload your public key
- Log into your AbeBooks seller account
- Navigate to Manage API Keys
- Click Generate New Key and select SSH Key as the key type
- Select the service(s) to authorize this key for (Inventory FTP, AMoP FTP, or both)
- Paste the contents of your public key file (e.g.,
~/.ssh/id_ed25519.pub) - Optionally add a label to identify this key (e.g., "Production Server")
- Click Save
To view your public key contents:
cat ~/.ssh/id_ed25519.pubThe output will look something like:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG... your-label@example.com
Step 3: Connect using your key
Connect to the FTP server using SFTP with your private key:
sftp -i ~/.ssh/id_ed25519 YOUR_CLIENT_PIN@orders.abebooks.comReplace YOUR_CLIENT_PIN with your AbeBooks client PIN (username) and use the appropriate host:
| Service | Host |
|---|---|
| Inventory FTP | ftp.abebooks.com |
| AMoP FTP | orders.abebooks.com |
Multiple SSH keys
You can upload multiple SSH public keys, each authorized for different services. This is useful if you use separate keys for different servers or environments. See Managing Keys for details.
Legacy authentication
SSH key authentication is optional. You can continue using username/password authentication with your existing credentials. Both methods can be active simultaneously — if a password is provided, it will be validated against your credentials. If no password is provided, AbeBooks will authenticate using your SSH public key.
Troubleshooting
| Issue | Solution |
|---|---|
| Permission denied (publickey) | Verify you uploaded the correct public key, and that the key is authorized for the service you're connecting to |
| Key not accepted | Ensure the key type is supported (ed25519 or RSA 2048+). DSA keys are not supported |
| Connection timeout | Verify you're connecting on port 22 and that your network allows outbound SSH |
| Wrong username | Your username is your AbeBooks client PIN, not your email address |