O comando ssh-add não adiciona minha identidade ao ssh-agent
20
Acabei de instalar o ubuntu 13.10 e estava prestes a adicionar minha identidade ao meu ssh-agent, então abri um terminal e fiz isso
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$
O ssh-add adiciona identidades de chave privada ao agente de autenticação, ssh-agent (1). Quando executado sem argumentos, ele adiciona os arquivos ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa e ~ / .ssh / identity. [...]
Os arquivos de identidade não devem ser legíveis por ninguém, exceto pelo usuário. Observe que o ssh-add ignora os arquivos de identidade se eles estiverem acessíveis por outras pessoas.
Portanto, por causa do The agent has no identities.erro, você provavelmente não possui esses arquivos ou talvez esses arquivos possam ser acessados por outras pessoas. Você pode verificá-las usando o seguinte comando:
ls -l ~/.ssh
Além disso, depois de executar o ssh-addcomando, execute echo $?para ver o status do erro do comando anterior. Se o status de saída retornou 0, o comando foi executado com sucesso. Se o status de saída retornou um valor diferente de zero, o comando falhou ao executar.
verdade, eu não tenho esses arquivos e o valor de saída ssh-addera 1, mas não 0. obviamente há algum problema com minhas permissões, pois os arquivos não são criados. Alguma idéia de como eu poderia consertar isso? o diretório ~/.sshexiste (está vazio), mas ele não aparece quando eu façols -l
Björgvin
Eu executei este comando ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsapara que o homem ssh-keygen ajudasse, obrigado.
Björgvin
1
Isso deu a dica de importação na direção certa para mim. Eu tinha várias chaves ssh e primeiro tive que adicionar a chave adequada usando ssh-add <keyname>. Então funcionou como um charme. thx
paulroho
3
Por alguma razão, não tive saída ao executar ssh-addapós digitar a senha (estava falhando de acordo com a $?repetição 1. Tentei chmod 600 ~/.ssh/id_rsa* sem sorte. Gerei uma nova chave do zero ssh-keygene funcionou. Triste, mas pelo menos é ok agora (A chave não foi gerada usando ssh-keygen -t rsa -b 4096 -C "[email protected]", eu só correu ssh-keygenem vez desta vez).
GabLeRoux
1
Eu tive que fazer o seguinte nesta ordem: (se necessário, gere uma nova chave ssh e adicione a chave .pub ao github), cd ~/.ssh && ls -lahpara ver as permissões de leitura / gravação na pasta .ssh, altere todas as chaves (s ) chmod 400 myKey, ssh-add **ABSOLUTE**pathToKey se você não adicionar o caminho ABSOLUTE , ele não funcionará. Em seguida, teste-o comssh -vT [email protected]
jungledev 22/11
3
Além das considerações acima, descobri que se você estiver usando um shell alternativo, poderá ser necessário configurá-lo para carregar o ssh-agent. Por exemplo, em Zsh, deve-se adicionar ssh-agenta pluginsno .zshrc.
Este método funciona muito bem no Ubuntu 17.10 com o mais recente Zsh
Outros descobriram que, com as id_ed25519chaves, rsaestava trabalhando sem um plugin. Depois de adicionar ssh-agenta ~/.zshrc, reinicie o shell com exec "$SHELL"e execute:ssh-add ~/.ssh/id_ed25519
Enter passphrase for ~/.ssh/id_ed25519:
Identity added: ~/.ssh/id_ed25519 (user@host)
ssh-add
era 1, mas não 0. obviamente há algum problema com minhas permissões, pois os arquivos não são criados. Alguma idéia de como eu poderia consertar isso? o diretório~/.ssh
existe (está vazio), mas ele não aparece quando eu façols -l
ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa
para que o homem ssh-keygen ajudasse, obrigado.ssh-add
após digitar a senha (estava falhando de acordo com a$?
repetição 1. Tenteichmod 600 ~/.ssh/id_rsa*
sem sorte. Gerei uma nova chave do zerossh-keygen
e funcionou. Triste, mas pelo menos é ok agora (A chave não foi gerada usandossh-keygen -t rsa -b 4096 -C "[email protected]"
, eu só correussh-keygen
em vez desta vez).cd ~/.ssh && ls -lah
para ver as permissões de leitura / gravação na pasta .ssh, altere todas as chaves (s )chmod 400 myKey
,ssh-add **ABSOLUTE**pathToKey
se você não adicionar o caminho ABSOLUTE , ele não funcionará. Em seguida, teste-o comssh -vT [email protected]
Além das considerações acima, descobri que se você estiver usando um shell alternativo, poderá ser necessário configurá-lo para carregar o ssh-agent. Por exemplo, em Zsh, deve-se adicionar
ssh-agent
aplugins
no.zshrc
.Este método funciona muito bem no Ubuntu 17.10 com o mais recente Zsh
Outros descobriram que, com as
id_ed25519
chaves,rsa
estava trabalhando sem um plugin. Depois de adicionarssh-agent
a~/.zshrc
, reinicie o shell comexec "$SHELL"
e execute:ssh-add ~/.ssh/id_ed25519
fonte