ssh-keygen cria a chave ssh para o usuário linux

1

Sendo um usuário do Sudo, é possível criar uma chave SSH para um usuário no mesmo servidor Linux? Este usuário do Sudo não tem privilégios de usuário do Switch.

Eu tenho um servidor no qual eu faço login como usuário sudo, dizendo 'admin' (não tem privilégio de troca de usuário) e tenho outro usuário que diz 'user1'. Eu tenho um script no meu servidor que deve ser executado como 'user1' que deve chamar outro script em execução em um host remoto (host remoto tem um usuário semelhante chamado 'user1') durante este processo, o 'user1' precisa de uma chave autorizada para remoto autenticação do host. Como o usuário sudo 'admin' não tem o privilégio de mudar como 'user1' e gerar as chaves ssh, eu terei que gerar as chaves ssh para 'user1' como 'admin'

    
por Big Data 24.07.2014 / 12:43

3 respostas

1

Você não precisa de nenhum sudo para isso. Supondo que você tenha sshd executando com passwordAuth no server2 para user1, faça o seguinte no server1:

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa -f ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub user1@server2

Neste ponto, ~ / .ssh / authorized_keys é instalado no server2, e assumindo que pubkeyAuth esteja habilitado no server2, você pode tentar um ssh sem pwd:

ssh user1@server2 ls

agora, se você quiser reverter as coisas (permitir que o usuário1 do servidor2 faça o login no servidor1 com o pubKey), faça o seguinte no user1 no servidor2:

scp user1@server1:.ssh/id_rsa .ssh/id_rsa
chmod 600 .ssh/id_rsa

e no servidor1:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
    
por 24.07.2014 / 16:27
0

Isso depende de como o sudo está configurado para sua conta. Muitas vezes, é muito restrito permitir apenas um determinado conjunto de operações.

Em caso de dúvida, fale com o seu administrador para o ajudar.

Outra abordagem: Não há necessidade de o arquivo de chave ssh estar em um local específico. Você pode criar um conjunto de chaves onde quiser, adicionar a chave pública ao arquivo authorized_keys dos usuários remotos e usar algo assim:

sudo ssh -i /path/to/privkey user@host 
    
por 24.07.2014 / 13:01
0

Sim, é possível sem problemas. Você pode obter sua chave privada ssh no arquivo .ssh/authorized_keys como se estivesse ssh-d nessa conta.

P. .: BTW, não existe o "usuário sudo". Você provavelmente está pensando em um usuário capaz de obter um roothell com um comando sudo, mas não foi trivial descobrir o significado adequado de sua terminologia. Também não existe algo como 'mudar para o usuário'. Você pensa em algum tipo de su -ing? Talvez você tenha que usar toda a terminologia conhecida.

    
por 24.07.2014 / 13:59