Por que preciso inserir a frase secreta para uma chave RSA em um host remoto após o SSH?

4

Do host B eu posso usar o SSH em vários outros hosts ( C, D ) sem usar qualquer senha, pois coloquei a chave pública nos arquivos correspondentes do authorized_keys (nos hosts C e D).

Do host A eu posso host SSH B (via autenticação senha ). No entanto, uma vez que eu estou logado no host B eu preciso autenticar minha chave cada vez quando eu me conecto a C e D (mesmo que em princípio isso não deva ser o caso) .

Para resumir, se eu conectar diretamente ao host B (por exemplo, office) não preciso digitar nenhuma senha para conectar a C ou D. Se eu conectar a A (por exemplo, home) e depois da AI conectar a B, uma vez Eu estou no BI precisa de senhas para se conectar a D ou C. Eu posso resolver parcialmente o problema, adicionando a senha para um agente ssh (usando ssh-add), mas toda vez que eu abrir um novo shell no BI precisa fazer isso de novo .

Atualizar

Graças aos comentários úteis, descobriu-se que o problema é o seguinte. Quando me conecto diretamente a B, há um programa de chaveiro em execução (no meu caso específico, isso é cavalo-marinho). Portanto, as senhas de todas as chaves privadas criptografadas podem ser usadas automaticamente. Quando eu me conecto a B de A isso não acontece. Por uma razão misteriosa, mesmo se eu iniciar uma sessão remota (vnc / remmina) de A para B, o programa seahorse não está ativo em B e, portanto, tenho que inserir manualmente as senhas repetidamente.

Instalei o keychain e o problema foi resolvido.

No entanto, não tenho certeza se vale a pena criptografar uma chave privada que é usada apenas para conexão SSH com um servidor específico. Existe algum risco de segurança concreto por não criptografar as chaves privadas? Em princípio, se alguém é capaz de acessar a chave privada, ele / ela também é capaz de usar as senhas armazenadas no chaveiro ... por isso Parece que pode não haver uma grande vantagem em criptografar as chaves privadas.

    
por Mannaggia 25.06.2014 / 22:54

1 resposta

2

Você resolveu parte de seu problema com o uso de keychain para atuar como armazenamento de suas senhas para suas chaves SSH. Quanto à sua outra pergunta:

However, I am not sure if it is worth to encrypt a private key which is only used for ssh connection to a specific server. Is there any concrete security risk by not encrypting the private keys? In principle if one is able to access the private key he/she is also able to use the passwords stored in the keychain...so it seems that there might not be a big advantage in encrypting the private keys

Não é que as suas chaves privadas não sejam criptografadas, pois não estão protegidas com uma frase secreta. Portanto, qualquer pessoa que possa obter acesso ao diretório .ssh do seu diretório home pode obter o controle de suas chaves SSH sem problemas.

Se você estiver confortável em deixar essas chaves em um sistema sobre o qual você tem controle total, não vejo problema em deixá-las como sem senha. Eu também recomendaria gerar um conjunto diferente de chaves que você pode deixar em sistemas secundários como este, ou até mesmo um conjunto exclusivo apenas para este servidor, para que você possa abandoná-lo completamente sem muito problema se você descobrir que ele foi comprometido. / p>

Em relação ao uso de keychain para gerenciar suas chaves, não vejo muito a ganhar com senhas nas chaves SSH se você estiver usando keychain para gerenciá-las, exceto que keychain armazenará somente quando você usa-os. Se você não usar as chaves com frequência e for diligente para limpar keychain quando terminar, uma senha seria uma vantagem, mas IMO é pequena.

    
por 28.06.2014 / 04:21