Li e segui algumas documentações on-line sobre como configurar um ssh-agent para não precisar digitar a senha toda vez que ssh em uma máquina remota.
No entanto, com a ajuda do ssh-agent , ainda preciso fazer ssh-add
toda vez que reinicio o shell. Em ssh-add
seguida, solicita que eu digite a senha para desbloquear a chave privada.
Enter passphrase for key '/home/xx/.ssh/id_rsa':
Em vez de digitar minha senha da máquina remota, sou solicitado a digitar a senha da chave privada. É como sair de um purgatório e me encontrar em um inferno depois. Parece que o id_rsa foi adicionado apenas temporariamente ao ssh-agent em uma sessão , porque toda vez que faço login e digito ssh-add -l
. Eu recebo:
The agent has no identities.
Posso perguntar como armazenar permanentemente a chave (id_rsa) no ssh-agent? obrigado
EDIT: foi com isso que fiz ssh-agent
. Anexei o seguinte bloco em~/.bash_profile
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
fi
ssh-add
tem um efeito que dura mais tempo do que a janela do shell que você digitou.ssh-agent
no post.Respostas:
Eu instalei o chaveiro.
sudo apt-get install chaveiro
Se você estiver executando o bash, precisará adicionar alguns comandos ao seu .bash_profile Se você não tiver um .bash_profile, crie um na sua pasta pessoal. Adicione estas linhas:
No início de um dia de trabalho, efetuarei login. Quando abro um terminal, minha senha será solicitada uma vez. Para todos os outros novos terminais e conexões, não será solicitada minha senha novamente.
fonte
ssh-add
no terminal?O que você está procurando é menos seguro, mas pode ser realizado usando a autenticação de chave pública sem a necessidade do ssh-agent. Uma opção mais segura é usar a autenticação de chave pública com uma senha e desativar a autenticação de senha no servidor ssh, mas não é isso que você solicitou. Consulte o link na parte inferior desta resposta para obter instruções, se você decidir fazer isso.
Para usar o ssh sem ser solicitada uma senha, você precisa gerar seu par de chaves enquanto deixa o campo da senha em branco.
Para verificar se você já gerou um par de chaves, verifique os arquivos id_rsa e id_rsa.pub no diretório ~ / .ssh. Se eles já estiverem lá, você pode excluí-los ou movê-los para criar um novo par de chaves.
Observe que, se você excluí-los, perderá o acesso a qualquer servidor ssh que estiver usando e, em seguida, chaves antigas para autenticar se a autenticação por senha estiver desativada no servidor.
Para criar um novo par de chaves, execute o seguinte comando:
Aceite o local padrão para as chaves e deixe a senha em branco.
Para fornecer sua chave pública ao servidor ssh ao qual você deseja se conectar, use o seguinte comando:
Após concluir essas etapas, você poderá efetuar login no servidor remoto sem uma senha do computador que está usando.
Referência: http://tombuntu.com/index.php/2008/02/20/public-key-authentication-for-ssh-made-easy/
fonte
Algum tempo atrás, de repente, comecei a ser solicitada uma senha para desbloquear minha chave ssh ao fazer isso
git push
. Aconteceu que, para deixar de ser solicitada uma senha, basta adicionar o SSH Key Agent (GNOME Keyring: SSH Agent) aos aplicativos de inicialização (no meu caso - apenas para marcar a caixa de seleção):fonte