Alguns dos meus sistemas Linux e FreeBSD têm dezenas de usuários. A equipe usará esses nós "ssh gateway" para SSH em outros servidores internos.
Estamos preocupados com o fato de algumas dessas pessoas usarem uma chave SSH privada não criptografada (uma chave sem uma senha) . Isso é ruim , porque se um cracker obtiver acesso à sua conta nesta máquina, eles poderão roubar a chave privada e agora terão acesso por qualquer máquina que use essa mesma chave Por motivos de segurança, exigimos que todos os usuários criptografem suas chaves SSH privadas com uma senha.
Como posso saber se uma chave privada não está criptografada (por exemplo, não contém uma senha)? Existe um método diferente para fazer isso em uma chave blindada ASCII vs. uma chave não blindada ASCII?
Atualizar:
Para esclarecer, suponha que eu tenha acesso de superusuário na máquina e que possa ler as chaves privadas de todos.
Respostas:
Bem, as chaves privadas do OpenSSH com senhas vazias não são realmente criptografadas.
As chaves privadas criptografadas são declaradas como tal no arquivo de chave privada. Por exemplo:
Então, algo como
deve fazer o truque.
fonte
-L
sinalizador lista apenas nomes de arquivos que não correspondem ao padrão. Portanto, esta resposta está correta por si só.Procurei por tudo isso e nunca encontrei uma resposta satisfatória, mas consegui construir uma, então ...
Observe que isso atualizará o arquivo, se funcionar, portanto, se você estiver tentando não ser notado pelos usuários cujas chaves você está testando, copie a chave primeiro. OTOH, como você acabou de pegar seu usuário com uma chave sem senha, talvez você não se importe se ele perceber. : D
fonte
-N ''
para que a senha não seja alterada?Se você tem acesso à chave privada, suponho, você pode usá-la sem senha para se autenticar na chave pública. Se isso funcionar, você sabe que não tem senha. Se tivesse, seria exibida uma mensagem de erro.
Se você não tiver acesso à chave privada, duvido que possa detectar isso. O objetivo da frase secreta é "desbloquear" a chave privada; ela não tem função em relação à chave pública.
De fato, se fosse, tornaria o sistema menos seguro. Pode-se usar a chave pública, disponível para tentar montar força bruta ou outros ataques que tentam decifrar a senha.
fonte