Questão Senha correta para a chave ssh rejeitada quando ssh-d na máquina


Quando estou logado em minha máquina diretamente, posso fazer todas as operações do git e, quando solicitada uma senha, a senha é aceita. Quando eu ssh na mesma caixa e executo as operações do git nos mesmos repos, a senha é rejeitada.

Relevante seção de .ssh / config se parece com isso:

# Generic settings
Host *
    ServerAliveInterval 600
    ControlPath /tmp/ssh-%r@%h:%p
    ControlMaster auto
    KeepAlive yes
    IdentityFile ~/.ssh/id_rsa.pub

Transação parece com isso quando eu login quando eu ssh na minha caixa:

{12-12-03 9:41}hbrown-wks2:~/workspace/spt/project@master✗✗✗ hbrown% git pull
Enter passphrase for key '/home/hbrown/.ssh/id_rsa.pub': 
Enter passphrase for key '/home/hbrown/.ssh/id_rsa.pub': 
Enter passphrase for key '/home/hbrown/.ssh/id_rsa.pub': 
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Usar o bash não parece fazer diferença (por exemplo, ssh-agent /bin/bash).

Este é um desenvolvimento recente, mas não posso citar a mudança que o causou.


0


origem




Respostas:


Você quer dizer passphrase (para ser usado com enciclopédia de chave pública) ou senha? Você não está nem sendo perguntado por uma senha. Se você quiser a aceitação da senha, além da frase secreta, pode precisar de algo como:

PreferredAuthentications publickey, keyboard-interactive, password

na tua ssh_config.

Além disso, não é o IndentityFile deveria ser a chave privada e não a chave pública?


2



Então, o problema era que eu estava especificando a chave pública como o arquivo de identidade ... Eu não sei por que isso funcionou no caso geral. - user20342