Como usar chaves privadas públicas na conexão com vários servidores?

0

Suponha que eu tenha 4 servidores A, B, C e Z e meu desktop é MacBox e há outro desenvolvedor Adam. Já criei pares de chaves privadas públicas no meu MacBox e copiei a chave pública para A, para que agora eu possa usar o ssh @ A sem problemas. O servidor A agora tem ~ / .ssh / authorized_keys contendo a chave pública do MacBox.

(1) Agora eu quero ser capaz de ssh em B e C do MacBox. Preciso gerar pares de chaves pública / privada novamente para cada um dos B e C? Ou posso simplesmente copiar a chave pública já gerada para A em B e C?

(2) O Servidor Z também deseja conectar-se a B com ssh usando chaves para que o script executado no servidor Z possa executar comandos remotos no servidor B. Preciso entrar em Z e gerar pares de chaves e copiar a chave pública do servidor Z para B?

(3) Eu quero que o Adam consiga fazer o login do ssh no servidor B. Eu preciso dar a senha do servidor B para o Adam para que ele possa gerar pares de chaves e ele copie sua chave pública para o B? Como todos os servidores, o B é o sistema operacional Linux e possui uma conta userB além do usuário root. Eu sou o dono do servidor A, B e C. Eu tenho a opção de criar uma conta 'adam' e dar privilégios de adam sudo assim como userB para que ele possa comandos do sistema como iniciar e parar serviços. Ainda tem que descobrir se há alguma vantagem de segurança criando uma conta separada para Adam ou apenas deixe a conta userB do usuário Adam.

    
por user61766 06.09.2018 / 15:17

1 resposta

2

Cada usuário precisa apenas de um único par de chaves pública / privada ssh. Você anexa a chave pública ao arquivo authorized_keys do usuário em cada servidor no qual deseja que eles efetuem login.

A maioria das distribuições de Linux fornece uma ferramenta chamada ssh-copy-id que faz o trabalho para você. É semelhante ao comando ssh. Espero que os Macs também tenham esse comando.

Então, a resposta para suas perguntas é a seguinte: 1. A partir do MacBox, execute "ssh-copy-id user @ B" para obter sua chave pública no arquivo authorized_keys do usuário no servidor B. Execute "ssh-copy-id user @ C" para fazer o mesmo com o servidor C.

  1. Você não especificou qual usuário no servidor Z precisa se conectar a B. Se o userZ já tiver um par de chaves ssh, você terá que usá-lo. Novamente, execute o "ssh-copy-id user @ B" no servidor Z para configurar as coisas.

  2. Adam tem uma conta no servidor B? Você quer que Adam use uma certa conta para entrar no servidor B? Se Adam não tiver uma conta no servidor B, você provavelmente terá que criar uma conta para Adam antes de fazer qualquer coisa com o SSH. Se você quiser que o Adam use uma determinada conta para fazer o login no servidor B, e que essa conta já exista, não será necessária nenhuma criação do usuário. Uma vez que há uma conta para Adam entrar no servidor B com, Adam precisa criar um par de chaves SSH. Uma vez que Adam o tenha criado, Adam pode usar o programa ssh-copy-id para obter a parte da chave pública no servidor B. Executar "ssh-copy-id B" é o mesmo que "ssh-copy-id Adam @ B" se Adam tem sua própria conta. Executar "ssh-copy-id user @ B" colocará a chave pública de Adam no arquivo authorized_keys do usuário no servidor B.

Espero que isso ajude.

    
por 06.09.2018 / 15:44