Eu acidentalmente fiz ssh-add -d .. como eu adiciono novamente minha chave de authorized_keys?

2

Eu acidentalmente fiz ssh-add -d , tentando remover uma certa chave, mas ela removeu todas elas do meu agente ssh. Preciso adicionar novamente minha chave de authorized_keys ou isso acontecerá automaticamente da próxima vez que eu fizer o login com ssh -i me@wherever ?

Tenho medo de sair e ser bloqueado do sistema.

Eu tentei digitar ssh-add /home/me/.ssh/authorized_keys , mas ele pede uma frase secreta e não sei de que palavra-senha está falando.

    
por CommaToast 30.06.2014 / 20:49

2 respostas

8

ssh-add é a parte cliente de ssh-agent , não tem nada a ver com a concessão de acesso a hosts (o que é feito adicionando a chave pública ( .pub ) a ~/.ssh/authorized_hosts no servidor lado). ssh-agent é um programa que você usa no lado do cliente, o lado do servidor só precisa de sshd .

Invocando ssh-add -d , você limpou uma chave em cache de ssh-agent , de modo que você tenha que digitar novamente sua senha do arquivo de chaves SSH na próxima vez que você fizer um ssh em um sistema. Você não ficará bloqueado limpando este cache . Simplesmente execute ssh-add (ou ssh-add ~/.ssh/id_rsa para um arquivo de chaves específico) para lembrar novamente a senha do arquivo de chaves para esta sessão.

A opção -i de ssh é necessária apenas se sua chave privada estiver localizada em um local fora do padrão. ssh -i ~/.ssh/id_rsa user@host é quase equivalente a ssh user@host , pois ~/.ssh/id_rsa é um dos locais padrão em que o SSH procura um arquivo-chave.

O motivo pelo qual ssh-add ~/.ssh/authorized_keys solicita uma senha é porque ela não reconheceu uma chave desprotegida e, portanto, assumiu uma chave protegida por senha. Na verdade, o arquivo tem um formato inválido, portanto, nenhuma senha funcionará aqui.

Veja também a página de manual ssh-add(1) .

    
por Lekensteyn 30.06.2014 / 21:29
0

Você pode copiar o conteúdo de .ssh/id_rsa.pub (que é sua chave pública) e adicioná-lo ao final de .ssh/authorized_keys ou usar ssh-copy-id localhost para permitir que o SSH copie.

Observe que a sua chave não precisa estar em .ssh/authorized_keys , a menos que você planeje SSH para esse computador usando essa chave.

    
por saiarcot895 30.06.2014 / 20:57