Como ssh em uma caixa como outro usuário, dado que o usuário host não possui chave ssh na máquina remota

12

Digamos que meu nome de usuário da minha máquina Mac seja John.

Eu tenho uma conta slicehost totalmente configurada. Observe que nesta fatia não há chave ssh para John.

Agora eu configuro esta caixa para acesso ssh para implantação do usuário.

Na minha máquina Mac, tenho a chave privada para implantação do usuário. Slicehost possui chave pública para implantação do usuário.

Novamente slicehost não tem nada para o usuário john.

Se eu quiser ssh na caixa sliceghost como implantação do usuário, também preciso colocar a chave pública para John?

user35340
fonte
Por uma questão de completude, eu adicionaria este link para que eu possa consultá-lo mais tarde. gist.github.com/df7d13a0556cd4a1bc13
user35340

Respostas:

21

Tipo de.

Você precisa colocar sua chave pública da conta de onde vem no servidor remoto. Se essa é sua chave John, coloque-a no servidor ao qual você está se conectando, usando a conta apropriada para esse servidor.

No seu caso, você está se conectando como implantar. Então, quando você se conectar, você digitará:

ssh deploy@slicehost

Se sua chave para John estiver no arquivo .ssh / allowed_keys da implantação da conta , você terá acesso direto.

Jim
fonte
1
isso não derrota todo o propósito de fazer login como outra pessoa. Portanto, neste caso, parece que preciso colocar a chave pública para John e implantar no arquivo allowed_keys.
user35340
3
Não. Fazemos isso o tempo todo para backups sftp. Geramos um par de chaves privadas públicas no qual sempre precisamos fazer backup do sistema. Colocamos a chave pública para essa conta / máquina em nosso servidor de backup em um usuário, usuário de backup, por exemplo. Em seguida, para fazer o backup da máquina cliente, enviamos sftp para o usuário de backup @ backup_machine. O usuário na máquina cliente não importa. Apenas importa que uma chave pública para essa máquina esteja no arquivo allowed_keys no servidor de backup no diretório .ssh da conta de usuário de backup. Funciona como um encanto.
18710 Jim
1

Não. O nome de usuário não tem nada a ver com o par de chaves pública / privada. Não é gravado em nenhum lugar em nenhuma das teclas. Desde que você coloque a chave pública no .ssh/authorized_keysarquivo de um usuário, você poderá efetuar login como esse usuário usando a chave privada.

Kamil Kisiel
fonte
Apenas tentando ter certeza de que entendi corretamente. Enquanto John tiver a chave privada para implantar e a chave pública para implantar estiver no arquivo allowed_keys, ele poderá fazer login como deploy.
user35340
Isso não parece trabalho para o meu - eu copiei o .ssh.authorized_keysde uma conta para a outra, mas ainda canot login
Edgar H
1

Você precisará especificar os dois que deseja efetuar login como usuário "deploy" e também especificar o arquivo de identidade para deploy.

ssh -i ~/.ssh/id_deploy.rsa deploy@slicehost

Onde id_deploy.rsa é o arquivo de chave privada correspondente à chave autorizada que você carregou na conta slicehost.

David Smith
fonte