Adicionei uma chave ssh ao agente:
$ ssh-add ~/.ssh/id_rsa_mac
Identity added: /Users/alex/.ssh/id_rsa_mac (/Users/alex/.ssh/id_rsa_mac)
Após uma reinicialização, o agente não tem mais essa chave adicionada:
$ ssh-add -l
The agent has no identities.
Por quê isso aconteceu?
$HOME/.gnupg/private-keys-v1.d
assim que você as adiciona com ssh-add. É realmente persistente. Bem, supondo que você tenha um diretório inicial não volátil.Respostas:
A adição de chaves ao agente é transitória. Eles duram apenas enquanto o agente estiver em execução. Se você o matar ou reiniciar o computador, eles serão perdidos até que você os adicione novamente. Na
ssh-agent
página do manual:macOS Sierra
A partir do macOS Sierra 10.12.2 , a Apple adicionou uma opção de configuração UseKeychain para configurações de SSH. Você pode ativar esse recurso adicionando
UseKeychain yes
ao seu~/.ssh/config
.Chaveiro OSX
Não uso o OSX, mas encontrei estas perguntas e respostas no SuperUser intitulado: Como usar o Mac OS X Keychain com chaves SSH? .
Portanto, pelo som, você pode importar suas chaves SSH para o Keychain usando este comando:
Suas chaves devem persistir de inicialização para inicialização.
Fonte: Superusuário - Como usar o Mac OS X Keychain com chaves SSH?
fonte
~/.ssh/id_rsa
. Eu estou supondo que este é o local do seu arquivo-chave no linux. Também é possível que você não esteja usando o agente de chave ssh padrão. Existem outros, como o gnome-keyring-daemon, que podem ter um comportamento diferente.ssh-agent
adiciona alguma chave automaticamente. Na minha opinião, éssh-add
que lê os locais padrão ou ossh
cliente, se você não estiver usando o agente./usr/bin/ssh-add -K /path/to/private/key
O
ssh-agent
é um serviço de sessão que armazena chaves temporariamente para o usuário.O principal objetivo do agente SSH é lembrar a versão em texto não criptografado de uma chave protegida usando uma senha. Em outras palavras, a chave é armazenada no disco criptografado usando uma senha e o proprietário da chave usa
ssh-add
ou alguma ferramenta da GUI para fornecer a senha e instruir o agente a lembrá-la até que a sessão termine ou o usuário solicite remoção explicitamente.Se você não estiver usando uma senha e não estiver encaminhando o agente (o que é inseguro para a maioria das finalidades), você não precisa do agente . Qualquer cliente SSH deve poder ler a chave do disco, de um local padrão ou de um especificado explicitamente.
Os locais padrão estão listados na página de manual
ssh(1)
:Ao usar locais fora do padrão, você pode usar a
-i
opçãossh
descrita na mesma página de manual ou a opção respectiva no cliente SSH que você está usando.fonte
ssh-agent
Na Serra :
Use UseKeychain . (Eu não tentei isso, mas parece a solução mais correta.)
Ou
Ou crie um arquivo plist em vez de anexá-lo
~/.bash_profile
.Isenção de responsabilidade: como outros observaram, não sei como é seguro armazenar senhas ssh no chaveiro.
fonte