I want to use the same keypair from one availability zone in another but I cannot import it. If I generate a new key I get the same error.
See AWS console > Newtwork and Security > Key pairs > Import key pair then choose an existing EC2 keypair and I get the following error:
Value (LS0tL...tLS0t) for parameter PublicKeyMaterial is invalid. Length exceeds maximum of 1024
Why would imported public key pairs have to be smaller than the key pairs AWS generates?
You are trying to import the private ssh key file. You should be importing the public ssh key file only.
On Linux, you can extract the public key from the private key using:
Amazon EC2 does not need to know your private ssh key. You should keep this secret and not share it with anyone, not even Amazon.
Here's an article I wrote which describes my recommendation that you generate and upload your own default ssh key to EC2:
This makes it easier to work with and access EC2 instances, no matter what region you're running them in.