ssh chaves ssh-agent bash e ssh-add

22

Eu sou novo em chaves ssh. Alguém pode explicar como funciona o ssh-agent bash e o ssh-add ?

Eu preciso entender seus aspectos internos no futuro.

    
por maneeshshetty 16.05.2011 / 21:31

2 respostas

35

Um agente é um programa que mantém suas chaves na memória para que você precise desbloqueá-las uma vez , em vez de todas as vezes. ssh-agent faz isso para chaves SSH.

Os métodos usuais para iniciar ssh-agent são:

  • eval 'ssh-agent' - executa o agente em segundo plano e define as variáveis de ambiente apropriadas para a instância do shell atual .

    ( ssh-agent , quando iniciado sem argumentos, gera comandos para serem interpretados pelo seu shell.)

  • exec ssh-agent bash - inicia uma nova instância do shell bash , substituindo a atual.

    (Com um ou mais argumentos, ssh-agent não produz nada, mas inicia o comando especificado: neste caso, o bash shell, mas tecnicamente poderia ser qualquer coisa.)

    O segundo método é às vezes preferido, já que ele mata automaticamente o ssh-agent quando você fecha a janela do terminal. (Ao iniciá-lo com eval , o agente permaneceria em execução, mas inacessível.)

No entanto, isso só inicia um agente vazio. Para realmente torná-lo útil, você precisa usar ssh-add , que desbloqueia suas chaves (geralmente ~/.ssh/id_* ) e as carrega no agente, tornando-as acessíveis para < em> ssh ou sftp conexões.

    
por 16.05.2011 / 22:17
6

Além disso, você pode adicionar algumas chaves no início da sessão.

Edite seu arquivo ~/.bashrc e adicione:

ssh-add &>/dev/null || eval 'ssh-agent' &>/dev/null  # start ssh-agent if not present
[ $? -eq 0 ] && {                                     # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null        # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null        # Load key 2
}

Verifique suas chaves com ssh-add -l

Você pode interromper a sessão atual do agente ssh com ssh-agent -k

Algo para saber sobre ssh-agent e .bashrc é não carregar muitas chaves. O número padrão de tentativas para o daemon ssh é limitado a 6. Isso pode ter sido modificado em /etc/ssh/sshd_config com o valor MaxAuthTries .

    
por 02.03.2017 / 09:59

Tags