How to login with ssh as a specific user?

The ssh keys are not personalized, so you can create the key under your user and then just paste your public key to the target user's authorized_keys on the remote server.

Thus, if you have key generated on your local workstation under "thufir", and want to logon to remote server as "ubuntu", you need to copy contents of your .ssh/ to .ssh/authorized_keys of user ubuntu on remote server and use command like

ssh ubuntu@remotehost

If you want to connect as thufir to remote server, then, yes, on the remote server you need to create user thufir, add it to sudoers, then put your public key to the .ssh/authorized_keys of the new user and then you will be able to connect through

ssh thufir@remotehost

or, suggesting you are logged on as thufir to your local box, through

ssh remotehost

The same ssh public key can be used to as an authentication key for multiple users on the same system as well as multiple systems.

Simply used ssh-copy-id to send your public key to the remote host. In the case of the ubuntu user, you will need a copy of the private key and use ssh-copy-id ubuntu@aws which will copy your default ssh public key to the ubuntu user's ~/.ssh/authorized_keys file.

The following diagram is meant to be illustrative only, showing the same public key copied to multiple hosts and users.

     | aws:/home/thufir/.ssh/authorized_keys |
     | ssh-rsa AAAA... user10@host           |
            ssh-copy-id  |      .---------------------------------------.
                         |      | aws:/home/ubuntu/.ssh/authorized_keys |
                     .---'      |---------------------------------------|
                     |          | ssh-rsa AAAA... user10@host           |
                     |          '---------------------------------------'
                     |                              ^
 .---------------------------------------.          |
 |    local:/home/user10/.ssh/id_rsa     |          |  ssh-copy-id
 |              Private Key              |          |
 |---------------------------------------|          | 
 |      BEGIN RSA PRIVATE KEY            |----------.
 | Proc-Type: 4,ENCRYPTED                |          |
 | DEK-Info: AES-                        |          |  ssh-copy-id
 '---------------------------------------'          |
                     |                              v  
                     |          .---------------------------------------.
                     '---.      | aws2:/home/user5/.ssh/authorized_keys |
                         |      |---------------------------------------|
                         |      | ssh-rsa AAAA... user10@host           |
            ssh-copy-id  |      '---------------------------------------'
    |    aws2:/root/.ssh/authorized_keys     |
    | ssh-rsa AAAA... user10@host            |