Archive

Archive for the ‘ssh-add’ Category

Acesso SSH com private key sem usar password

Olá pessoal,

nos últimos dias andei tendo problemas em acessar um servidor remoto para fazer deploy automático usando uns scripts, tudo isso porque o ssh acabava que pedindo senhas de acesso e isso meio que atrapalhava o quesito “automático”. Pois bem, fucei um pouco e descobri algumas coisas a respeito de acesso ssh usando chaves privadas sem a necessidade de senha, vou colocar aqui alguns passos então:

  1. Criar uma chave ssh sem password: “ssh-keygen -t rsa” (na hora de digitar o password, aperte enter para deixar em branco)
  2. Enviar a chave pública (o comando acima, deverá gerar 2 chaves, uma privada e uma pública) para o servidor no qual você quer acessar via ssh usando a chave.
  3. No servidor, logado com o usuário com o qual você quer acessar, faça “apend” do arquivo authorized_keys com a chave pública que foi gerada no passo 1. (exemplo: “cat id_rsa.pub >> /home/<usuario>/.ssh/authorized_keys”)
  4. Ainda no servidor, lembre-se de verificar se a pasta e o authorized_keys tem permissão 700 (chmod -R 700 /home/<usuario>/.ssh)

Nesse ponto, você já pode tentar fazer ssh da maquina cliente (da qual você gerou a chave) para o servidor, usando a chave privada (“ssh -i ~/.ssh/id_rsa <usuario>@<servidor>”). Se ele mesmo assim negar o acesso, você pode tentar debugar o acesso executando o mesmo ssh, mas usando a flag -vvv (1 “v” para cada nivel de verbose). Exemplo: “ssh -vvv -i ~/.ssh/id_rsa <usuario>@<servidor>”.

Ele provavelmente irá te dizer qual é o problema. No meu caso, é que ele não estava achando minha chave dentro do .ssh do meu usuário (sim, eu gerei minha chave com nome direferente do id_rsa) e por isso tinha que adicioná-la ao ssh-agent usando o comando ssh-add (“ssh-add <suachaveprivada>”). Se nesse ponto ele disser que não pode conectar ao ssh-agent, você provavelmente terá que iniciar uma nova sessão do mesmo. Para tal, execute “eval $(ssh-agent)”, ele irá criar uma nova instância do ssh-agent e setará as variáveis de ambientes necessárias para o ssh-add achá-lo. Logo após, tente executar novamente o ssh-add (“ssh-add <suachaveprivada>”).

Pronto, agora é só tentar fazer o ssh novamente e correr para o abraço! =D

[]’s

Fontes: https://coderwall.com/p/rdi_wq