Como logar com o ssh como usuário específico?

4

Em uma instância do Ubuntu AWS, quero ssh como "thufir "com privilégios sudo. Crie o usuário thufir com sudo adduser thufir e, em seguida, adduser thufir sudo do usuário "ubuntu"? Simplesmente adicione minha chave pública a ~/.ssh/authorized_keys e depois Eu serei capaz de ssh como "thufir" para a instância remota?

Posso usar minha chave pública normal para fazer login como "ubuntu" na AWS, ou isso exigiria a chave gerada da AWS?

Gostaria de poder ssh como "ubuntu" usando minha própria chave - isso é possível? Não há senha com o usuário "ubuntu", login estritamente chave.

    
por Thufir 12.11.2017 / 22:14

2 respostas

2

A mesma chave pública ssh pode ser usada como uma chave de autenticação para vários usuários no mesmo sistema, bem como em vários sistemas.

Simplesmente use ssh-copy-id para enviar sua chave pública para o host remoto. No caso do usuário ubuntu , você precisará de uma cópia da chave privada e usar ssh-copy-id ubuntu@aws , que copiará sua chave pública padrão ssh para o arquivo ~/.ssh/authorized_keys do usuário do Ubuntu.

O diagrama a seguir destina-se apenas a ser ilustrativo, mostrando a mesma chave pública copiada para vários hosts e usuários.

     .---------------------------------------.
     | 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  |      '---------------------------------------'
                         |
                         v
    .----------------------------------------.
    |    aws2:/root/.ssh/authorized_keys     |
    |----------------------------------------|
    | ssh-rsa AAAA... user10@host            |
    '----------------------------------------'
    
por 12.11.2017 / 23:04
5

As chaves ssh não são personalizadas, portanto, você pode criar a chave em seu usuário e depois colar sua chave pública no authorized_keys do usuário alvo no servidor remoto.

Assim, se você tiver a chave gerada em sua estação de trabalho local em "thufir", e quiser fazer logon no servidor remoto como "ubuntu", você precisa copiar o conteúdo de seu .ssh / id_rsa.pub para .ssh / authorized_keys de usuário ubuntu no servidor remoto e use o comando como

ssh ubuntu@remotehost

Se você quiser se conectar como thufir ao servidor remoto, então, sim, no servidor remoto você precisa criar um usuário, adicioná-lo a sudoers, depois colocar sua chave pública no .ssh / authorized_keys do novo usuário e então você será capaz de se conectar através de

ssh thufir@remotehost

ou sugerindo que você esteja logado como thufir em sua caixa local, por meio de

ssh remotehost
    
por 12.11.2017 / 22:33