Pergunta

eu definir uma senha ao criar uma nova chave SSH no meu laptop. Mas, como eu percebo agora, isso é muito doloroso quando você está tentando cometer ( Git e SVN ) para um local remoto através de SSH muitas vezes em uma hora.

Uma maneira que eu posso pensar é, apagar minhas chaves SSH e criar novos. Existe uma maneira de remover a senha, mantendo as mesmas chaves?

Foi útil?

Solução

Resposta curta:

$ ssh-keygen -p

Este, então, pedir-lhe para inserir a localização do arquivo de chaves, a velha senha e a nova senha (que pode ser em branco esquerdo não ter nenhuma senha).

Se você gostaria de fazer tudo em uma linha sem prompts fazer:

$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

Importante: Tenha em atenção que ao executar comandos que normalmente será registrado no seu arquivo ~/.bash_history (ou similar) em texto simples, incluindo todos os argumentos fornecidos (ou seja, das senhas, neste caso). é, portanto, recomenda-se que você use a primeira opção a menos que você tenha uma razão específica para fazer o contrário. Aviso no entanto, que você ainda pode usar -f keyfile sem ter que especificar -P nem -N, e que os padrões keyfile para ~/.ssh/id_rsa, assim, em muitos casos nem mesmo é necessário.

Você pode querer considerar o uso de ssh-agente, que pode armazenar em cache a senha para um tempo. As últimas versões do gpg-agent também suportam o protocolo que é usado por ssh-agente.

Outras dicas

Você pode querer adicionar o seguinte ao seu .bash_profile (ou equivalente), que começa ssh-agente no login.

if [ -f ~/.agent.env ] ; then
    . ~/.agent.env > /dev/null
    if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then
        echo "Stale agent file found. Spawning new agent… "
        eval `ssh-agent | tee ~/.agent.env`
        ssh-add
    fi 
else
    echo "Starting ssh-agent"
    eval `ssh-agent | tee ~/.agent.env`
    ssh-add
fi

Em algumas distribuições Linux (Ubuntu, Debian), você pode usar:

ssh-copy-id -i ~/.ssh/id_dsa.pub username@host

Isto irá copiar o ID gerado para uma máquina remota e adicioná-lo ao chaveiro remoto.

Você pode ler mais aqui e aqui .

$ ssh-keygen -p trabalhou para mim

Inaugurado o bash git. Colado: $ ssh-keygen -p

pressione Enter para localização padrão.

Digite senha antiga

Digite nova senha - EM BRANCO

Confirmar nova senha - EM BRANCO

BOOM a dor de entrar senha para git push tinha desaparecido.

Obrigado!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top