Por que preciso inserir a senha de uma chave RSA em um host remoto após o SSH?

Por que preciso inserir a senha de uma chave RSA em um host remoto após o SSH?

Do anfitriãoBPosso usar SSH em vários outros hosts (CD) sem usar nenhuma senha, pois coloquei a chave pública nos arquivos autorizados_keys correspondentes (nos hosts C e D).

Do anfitriãoAPosso hospedar SSHB(através dasenhaautenticação). No entanto, uma vez logado no hostBEUpreciso autenticar minha chave todas as vezesquando me conecto a C e D (mesmo que em princípio não devesse ser o caso).

Para resumir, se eu me conectar diretamente ao host B (por exemplo, escritório), não preciso digitar nenhuma senha para me conectar a C ou D. Se eu me conectar a A (por exemplo, casa) e depois da AI conectar-me a B, quando estiver em O BI precisa de senhas para se conectar a D ou C. Posso resolver parcialmente o problema adicionando a senha a um agente ssh (usando ssh-add), mas toda vez que abro um novo shell no BI preciso fazer isso novamente.

Atualizar

Graças aos comentários úteis, descobriu-se que o problema é o seguinte. Quando me conecto diretamente ao B, há um programa de chaveiro em execução (no meu caso específico, é o cavalo-marinho). Portanto, as senhas de todas as chaves privadas criptografadas podem ser usadas automaticamente. Quando 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.

Eu instaleichaveiroe 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 a um servidor específico.Existe algum risco concreto de segurança por não criptografar as chaves privadas?Em princípio, se alguém conseguir acessar a chave privada, também poderá usar as senhas armazenadas no chaveiro... então parece que pode não haver uma grande vantagem em criptografar as chaves privadas.

Responder1

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

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

Não é que suas chaves privadas não sejam criptografadas, mas sim que elas não estão protegidas por uma senha longa. Portanto, qualquer pessoa que possa obter acesso ao .sshdiretório do seu diretório inicial pode obter o controle das suas chaves SSH sem problemas.

Se você se sentir confortável em deixar essas chaves em um sistema sobre o qual você tem controle total, não vejo problema em deixá-las sem senha. Eu também recomendaria gerar um conjunto diferente de chaves que você possa 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 muitos problemas se descobrir que ele foi comprometido.

Quanto ao uso keychainpara gerenciar suas chaves, não vejo muito a ganhar com senhas em chaves SSH se você estiver usando keychainpara gerenciá-las, exceto que keychainsó as armazenará quando você as usar. Se você não usa as chaves com frequência e é diligente na limpeza keychainquando terminar, uma senha longa seria uma vantagem, mas, na IMO, é pequena.

informação relacionada