
Tenho contas em duas máquinas: H1 e H2. Criei chaves ssh em H1 e instalei em S1. Agora posso fazer ssh para S1 de H1. Eu quero fazer o mesmo do H2. Como instalo as chaves ssh geradas em H1 em H2?
Responder1
Editado:Se você possui ambas as máquinas, poderá compartilhar sua chave privada. Masesta solução não é segurapara caso de notebook roubado ou para máquinas que não sejam de sua propriedade.
Você pode copiar suas chaves privadas de H1 para H2, se quiser usar a mesma chave privada para poder fazer login de H2 para S1. Quando você estiver em H1, execute estes comandos:
H1$ ssh H2 mkdir ~/.ssh
H1$ scp ~/.ssh/id_rsa ~/.ssh/id_dsa H2:~/.ssh/
Aviso! Isso excluirá e substituirá qualquer chave privada que você tinha no H2.
Melhor maneiraé gerar novas chaves privadas em H2 (ssh-keygen
) e instale sua parte pública em S1 comssh-copy-id
útil. Neste caso mais seguro você terá dois conjuntos de chaves; um é para login H1-S1 e o segundo para login H2-S1. Haverá duas chaves públicas autorizadas em S1. E você poderá revogar qualquer um deles ou ambos (por exemplo, quando seu notebook for roubado ou o proprietário da máquina decidir desabilitar sua conta e reutilizar todos os seus arquivos).
Responder2
Usarssh-copy-id
SINOPSE
ssh-copy-id [-i [arquivo_identidade]] [usuário@]máquina
DESCRIÇÃO
ssh-copy-id é um script que usa ssh para fazer login em uma máquina remota e anexar o arquivo de identidade indicado ao arquivo ~/.ssh/authorized_keys dessa máquina.
Responder3
Use duas chaves privadas
Configure H2 usando o mesmo processo (masnãoa mesma chave privada) como você fez quando configurou H1:
- Nunca há um bom motivo para copiar uma chave privada de outra máquina. Se você ainda não gerou uma nova chave privada no H2, faça-o agora. Gere também a chave pública correspondente. Em um terminal em H2,
tipo:ssh-keygen -t rsa
- Copie a chave pública do seu H2 para o servidor. Em um terminal em H2,
tipo:ssh-copy-id [email protected]
(mas use seu nome de usuário real no S1 e no nome do host do S1, e depois digite sua senha no S1 quando solicitado).
Isso instala a chave pública da sua estação de trabalho no ~/.ssh/authorized_keys
arquivo desse usuário no servidor.
- Não há etapa 3. A partir de agora, você pode fazer login no S1 a partir do seu H2 e também fazer login no S1 a partir do seu H1.
detalhes
Presumo que o que você realmente está perguntando é
- Eu tenho um servidor ("S1")
- Eu faço login no meu servidor a partir do meu laptop pessoal ("H1")
- Também quero fazer login no meu servidor a partir da minha estação de trabalho ("H2").
Qual é a maneira certa de fazer isso?
- Suponho que poderia simplesmente fazer login com a mesma senha em ambos os lugares. Esse não pode ser o caminho certo, porque todo mundo diz que a autenticação com chave pública é muito melhor do que senhas.(a)
- Suponho que poderia simplesmente copiar a chave privada do meu laptop para a minha estação de trabalho. Esse não pode ser o caminho certo, porque todo mundo diz que a chave privada nunca deve sair da máquina do cliente.
As pessoas têm na cabeça que uma conta em um servidor tem um único nome de usuário e, claro, uma única senha autorizada.
Sistemas de chave pública como o ssh são melhores que o sistema de senha: uma conta em um servidor possui um único nome de usuário equalquer número de chaves públicas autorizadas, todos eles listados no ~/.ssh/authorized_keys
arquivo.
Responder4
Para mudança de chaves SSH de um computador para outro. Basta copiar a pasta inteira de ~/.ssh de H1 (máquina antiga) para a pasta de conteúdo ~/.ssh da nova máquina H2.
Agora tente:
ssh[e-mail protegido](seu ip S1)
Muito provavelmente você receberá um aviso de permissão para corrigir essa execução:
chmod 400 ~/.ssh/id_rsa
Agora novamente:
ssh[e-mail protegido](seu ip S1)
Vai funcionar bem agora.