
Acho que mexi na minha configuração do ssh.
Ultimamente não consigo mais clonar um repositório local. Parece que o repositório git está aceitando chave pública e senha, mas em vez de me deixar escolher uma das duas opções, ele tenta se conectar usando alguma chave RSA errada, resultando na mensagem:
Received disconnect from myRemoteComputer : Too many authentication failures for myUsername
fatal: Could not read from remote repository.
O mesmo acontece quando eu ssh para aquele computador
$ssh -v myRemoteComputerIP
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/myUsername/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: myUsername@cvg04
Received disconnect from myRemoteComputerIP: Too many authentication failures for myUsername
Então algo está errado, já que ultimamente os dois comandos estavam funcionando. Basicamente, eu precisaria informar ssh
e git
usar nome de usuário e senha em vez de escolher aleatoriamente uma "chave RSA" errada. Alguém sabe como consertar isso?
Também executei algum ssh-add
comando recentemente seguindo alguns conselhos do fórum, mas talvez seja parte do problema...
Responder1
Verifique o seu ~/.ssh/config
. Se quiser usar autenticação por senha, você pode configurá-la assim:
Host myRemoteComputerIP
PubkeyAuthentication no
Ele nunca tentará a autenticação de chave pública neste host.
Que tal quando eu tiver que me conectar com dois nomes de usuário diferentes uma vez usando uma chave RSA e uma autenticação de nome de usuário/senha para o outro?
Você pode usar aliases em ssh_config
:
Host alias1
Hostname myRemoteComputerIP
PubkeyAuthentication no
User user1
Host alias2
Hostname myRemoteComputerIP
# PubkeyAuthentication yes # is default
User user2
e então conecte usando ssh alias1
e ssh alias2
.
Responder2
Clone usando https e sempre pedirá senha. Exemplo:
git clone https://github.com/my_company/myrepo.git