Defino uma senha ao criar uma nova chave SSH no meu laptop. Mas, como sei agora, isso é bastante doloroso quando você está tentando confirmar ( Git e SVN ) em um local remoto através do SSH várias vezes em uma hora.
Uma maneira de pensar é em excluir minhas chaves SSH e criar novas. Existe uma maneira de remover a senha, mantendo as mesmas chaves?
Respostas:
Resposta curta:
Isso solicitará que você insira o local do arquivo de chave, a senha antiga e a nova senha (que pode ser deixada em branco para não ter senha).
Se você quiser fazer tudo em uma linha sem avisos, faça:
Importante: Cuidado ao executar comandos, eles normalmente serão registrados no seu
~/.bash_history
arquivo (ou similar) em texto sem formatação, incluindo todos os argumentos fornecidos (por exemplo, as senhas neste caso). Portanto, é recomendável que você use a primeira opção, a menos que tenha um motivo específico para fazer o contrário.Observe, no entanto, que você ainda pode usá-lo
-f keyfile
sem precisar especificar-P
nem-N
e que o arquivo de chave é padronizado como~/.ssh/id_rsa
, portanto, em muitos casos, nem é necessário.Você pode considerar o uso de ssh-agent, que pode armazenar em cache a senha por um tempo. As versões mais recentes do gpg-agent também suportam o protocolo usado pelo ssh-agent.
fonte
ssh-keygen -p
em um terminal. Ele solicitará um arquivo de~/.ssh/id_rsa
chave ( o arquivo correto é o padrão para mim ), a senha antiga (digite o que você tem agora) e a nova senha (não insira nada).ssh-keygen -p -P oldpassphrase -N "" -f ~/.ssh/id_rsa
~/.bash_history
. É melhor digitar:$ cd ~/.ssh && ssh-keygen -f id_dsa -p
~/.bash_hstory
Ie. use `ssh-keygen -p -P oldpassphrase -N" "-f ~ / .ssh / id_rsa` e você estará bem (a menos que você tenha outro keylogger). Você também pode se livrar do registro da história ..$ ssh-keygen -p
trabalhou para mimGit bash aberto. Colado:
$ ssh-keygen -p
Pressione Enter para o local padrão.
Digite a senha antiga
Digite uma nova senha - EM BRANCO
Confirmar nova senha - EM BRANCO
BOOM, a dor de digitar a senha para o git push desapareceu.
Obrigado!
fonte
$ ssh-keygen -p
e sua chave não estiver no local padrão, digamos (/Users/yourname/.ssh/id_rsa), você poderá responder colocando/Users/yourname/.ssh/yourkey
quando solicitadoVocê pode adicionar o seguinte ao seu .bash_profile (ou equivalente), que inicia o ssh-agent no login.
Em algumas distribuições Linux (Ubuntu, Debian) você pode usar:
Isso copiará o ID gerado para uma máquina remota e o adicionará ao chaveiro remoto.
Você pode ler mais aqui e aqui .
fonte
Para alterar ou remover a senha, geralmente acho mais simples passar apenas os sinalizadores
p
ef
, em seguida, deixe o sistema solicitar que eu forneça as senhas:ssh-keygen -p -f <name-of-private-key>
Por exemplo:
ssh-keygen -p -f id_rsa
Digite uma senha vazia se desejar remover a senha.
Uma amostra de execução para remover ou alterar uma senha é mais ou menos assim:
Ao adicionar uma senha a uma chave que não tem senha, a execução se parece com isso:
fonte
No Windows, você pode usar o PuttyGen para carregar o arquivo de chave privada, remover a frase secreta e substituir o arquivo de chave privada existente.
fonte
No Mac, você pode armazenar a senha da sua chave ssh privada no seu Keychain, o que torna transparente o uso dela. Se você estiver conectado, ele estará disponível; quando você estiver desconectado, seu usuário root não poderá usá-lo. Remover a senha é uma má ideia, porque qualquer pessoa com o arquivo pode usá-la.
Adicione isto a
~/.ssh/config
fonte