SSH túnel através de uma estação de trabalho para um servidor remoto

1

Eu tenho uma situação semelhante à publicada aqui mas não exatamente o mesmo.

Tenho acesso a uma máquina remota A à qual me conecto de uma máquina B usando uma chave privada com uma frase secreta. Eu gostaria de dar a um colega de trabalho acesso à minha conta na máquina remota A mas obviamente eu não gosto de dar a ele acesso à minha chave privada que está armazenada na máquina B .

Eu gostaria de fazer o seguinte, mas estou confuso e não sei como. Gostaria de abrir um túnel da máquina B (intermediário) para A (remoto) e deixar meu colega de trabalho se conectar à máquina remota usando o túnel. No entanto, ao fazer isso, não quero dar a ele acesso à minha conta na máquina B (intermediário).

Eu tentei ssh -fNL 12345:A:22 me@A em B , mas quando emito ssh -p 12345 me@B , recebo um erro dizendo Permission denied (public key). O que estou fazendo errado aqui?

    
por GradGuy 27.05.2014 / 22:37

1 resposta

1

Quando você executa ssh -p 12345 me@B , o cliente SSH está sendo encapsulado no servidor SSH em A. Você ainda precisa de credenciais válidas (conta e senha ou chave SSH) para que A faça login em A. Portanto, você deve usar sua chave SSH para entrar em A nesse ponto.

Não tenho certeza se você precisa de um túnel para isso. Peça ao seu amigo para criar sua própria chave SSH e dar a você a parte pública da chave. Adicione a chave pública ao seu arquivo authorized_keys em A. Se seu amigo puder acessar A por SSH, ele poderá usar sua própria chave SSH para fazer login em sua conta.

Se seu amigo não puder acessar A diretamente, você poderá configurar um encapsulamento conforme descrito e fazer com que ele faça login conforme descrito. Mas ele usaria sua própria chave SSH, não sua.

Se ele deixar de ser seu amigo, tire sua chave pública do arquivo authorized_keys .

    
por 28.05.2014 / 20:19