outra solução, aprimorando a segurança e facilitando para você, para que você não precise digitar sua senha o tempo todo:
se você quiser criptografar sua chave privada, poderá usar ssh-agent
em sua estação de trabalho para 'armazenar em cache' a chave não criptografada. quando você deseja armazenar sua chave descriptografada, executa ssh-add ~/.ssh/id_rsa
ou qualquer que seja o nome da sua chave privada. você será solicitado a fornecer a senha e a chave descriptografada estará disponível para suas conexões ssh até que você efetue logout, ssh-agent
interrupção ou desligamento.
você pode usar kill
as chaves armazenadas ssh-agent -k
e pode atribuir uma vida útil para a chave estar na memória com ssh-agent -t [seconds]
isso, por exemplo; se você não deseja manter sua chave descriptografada para sempre, mas deseja fazer uma grande quantidade de sessões em torno de seus hosts, pode definir o tempo limite para 5 a 10 minutos. para que você não precise inserir continuamente a senha da sua chave.
novamente, tudo isso tem a ver com a confiança que você tem com a segurança de sua / estação de trabalho /, que, se você é o único que tem acesso a ela, e possui uma senha local bastante segura, e você não convide explorações e rootkits, a sua chave privada sem senha é razoavelmente segura.
se você é como eu e mantém sua chave privada em um pendrive, você definitivamente vai querer criptografar isso, mesmo que seja apenas uma chave privada (uma chave separada da qual eu uso na minha estação de trabalho, por isso, se eu perco minha chave, posso facilmente remover a chave pública do pen-drive da ~/.ssh/authorized_keys
lista do meu servidor , o que também traz um / excelente / motivo para adicionar comentários ÚTEIS às suas chaves públicas)
na sua resposta a uma resposta anterior, você disse que apenas as pessoas em quem você confia têm acesso à máquina com as chaves. Eu só quero esclarecer que sua chave privada NÃO precisa estar no servidor ao qual você está se conectando, caso seja o que você está fazendo. apenas sua chave pública precisa estar no servidor, e isso não é problema, e é por isso que é uma chave 'pública'.
esqueci de mencionar; i lançar ssh-agent
quando eu começar a X, caso contrário, as chaves de-crypted i loja com ssh-add
não são mantidas através de diferentes xterm
sessões, e eu tenho que re-digitar a senha cada vez que eu fechar o xterm
i lançado ssh-add
no em minha. ~/.xinitrc
arquivo, eu tenho:
if [ -x /usr/bin/ssh-agent ]; then
eval $(/usr/bin/ssh-agent)
fi
Eu tenho a chamada para ssh-agent
encerrar eval
porque ssh-agent retorna algumas variáveis de ambiente que precisam ser definidas quando são executadas e executadas a partir de ~/.xinitrc
, as variáveis de ambiente são constantes durante toda a sessão X.