Chave RSA funciona apenas com meu usuário

0

Minha chave ssh funciona normalmente, eu posso conectar diretamente a outro servidor com:

MyUser@host1: ssh server

Nenhuma senha é solicitada e o sucesso da conexão, mas quando eu uso root:

root@host1: ssh -i /home/myuser/.ssh/id_rsa.pub MyUser@server

o outro servidor solicita uma frase-senha, alguém pode me explicar por que a conexão não é automática como o primeiro caso e como resolver esse problema?

Obrigado antecipadamente

    
por Med 20.03.2018 / 10:30

2 respostas

1

Suponho que você esteja efetuando login no host1 como MyUser e, em seguida, usando su - ou sudo para alternar para a raiz. Ambos os métodos removerão a maioria ou todas as variáveis de ambiente ao fazer a transição de uma conta de usuário para outra, por segurança.

(Por exemplo, se você tivesse permissão apenas para executar comandos específicos como root com sudo , poderia contornar essa restrição com uma configuração de variável LD_PRELOAD ou LD_LIBRARY_PATH incorreta se todas as variáveis de ambiente fossem repassadas automaticamente. )

Quando você usa um agente de autenticação SSH, uma variável de ambiente importante é criada para sua sessão SSH no host1: SSH_AUTH_SOCK . Quando você conecta SSH ao servidor como MyUser, a presença dessa variável informa ao cliente SSH do host1 que uma conexão do agente de autenticação está disponível. A variável aponta para um socket Unix, tipicamente localizado em um diretório sob / tmp, que é acessível apenas pelo seu dono. Esse soquete está conectado ao processo sshd que manipula sua conexão de sua estação de trabalho para host1 e, finalmente, para o agente de autenticação PuTTY em sua estação de trabalho.

Se essa variável não for repassada quando su ing ou sudo ing de uma conta de usuário para outra, o cliente SSH não poderá usar a conexão do agente de autenticação após a transição. Como resultado, ele precisa solicitar uma frase secreta para descriptografar todas as chaves privadas disponíveis por conta própria.

Além disso, se você fizer a transição para outra conta não raiz, as permissões de arquivo no soquete e no diretório contido o impedirão de usá-lo, a menos que você tome medidas para permiti-lo explicitamente antes de fazer a transição para outro usuário. (Isso não é um problema ao fazer a transição para o root, porque o root pode acessar tudo.)

    
por 20.03.2018 / 17:38
0
ssh -i /home/myuser/.ssh/id_rsa.pub MyUser@server

Você está usando o arquivo de chave errado aqui. id_rsa.pub contém a chave pública instalada no servidor remoto. id_rsa (sem a extensão .pub ) contém a chave privada privada que os clientes usam para autenticar no servidor remoto.

Especifique o nome da chave privada em vez da chave pública:

ssh -i /home/myuser/.ssh/id_rsa MyUser@server
                         ^^^^^^--Note no .pub
    
por 20.03.2018 / 14:47

Tags