Eu quero configurar o túnel ssh para o servidor mysql que está no computador que possui máquina virtual. Além disso, o túnel deve funcionar se a máquina for reiniciada.
Então, digamos que A seja um computador com software linux. B - máquina virtual no computador A.
O MySQL está em B.
C - é uma máquina virtual no computador A que deseja se conectar ao MySQL em B.
Agora por este artigo: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
Eu tento copiar a chave pública para o servidor remoto. Acho que preciso copiá-lo para o computador A.
ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Agora tentei digitar a senha do arquivo id_rsa.pub.bak. Negou.
Então eu vejo que ele usa a chave em /home/[userunette/.ssh/id_rsa, que é diferente da chave pública que estou tentando copiar, claro que a chave privada é diferente, mas quero copiar a chave pública de outra chave privada. Então, eu tentei usar a senha dele. Também negado.
Como depurar por que a senha é negada?
Atualizar
Com base nos comentários, criei um novo arquivo público chamado id_rsa.pub, onde tudo está em uma linha agora
e execute e ainda receba erro.
ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Atualizar
Verifiquei as permissões na pasta .ssh e no arquivo allowed_keys no computador A - eles são 700 e 600, de modo que o comentário diz que eles são bons.
Atualizar
Tentei configurar a autenticação de senha sim em um computador e reinicie o serviço. Reiniciando como pela resposta não funcionou, ele escreveu sshd não reconhecido, então reiniciei usando:
sudo /etc/init.d/ssh restart
Em seguida, tente novamente na máquina C para copiar para uma máquina.
ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v
e ainda o mesmo:
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Se eu for copiar a chave manualmente para o número_personalizado, vejo que a chave pública já existe, a mesma que eu quero copiar. Eu perguntei ao meu colega de trabalho, ele disse que não o copiava. Então, eu nem entendo como isso pode estar lá.
Ok, se estiver lá, seria bom, mas, permanecendo lá, não me permite conectar-me ao ssh sem digitar a senha. Mas consegui me conectar com a digitação da senha. Então, algo claramente ainda está errado aqui. E a chave que estou tentando copiar é com uma senha vazia. Quando me conectei com ssh - digitei uma senha que não estava vazia.
A mesma chave pública não pode aceitar senha secreta vazia e senha não vazia, isso faz sentido. Mas então por que a chave pública que eu estou tentando enviar é a mesma que a do arquivo allowed_keys se as senhas são diferentes? Eu não verifiquei todos os caracteres, mas é improvável que as chaves sejam tão parecidas que o início e o final sejam os mesmos, mesmo que a frase secreta seja diferente.
id_rsa
você possui? Eu esperariassh-copy-id
falhar com uma mensagem de erro do jeito que você a chama, pois espera que um arquivo termine com.pub
. Como o seu termina com.bak
ele provavelmente usariaid_rsa.pub.bak.pub
.