outra solução, aumentando a segurança e facilitando o uso de você, para que você não precise digitar sua senha o tempo todo:
se você quiser criptografar sua chave privada, use ssh-agent
em sua estação de trabalho para "armazenar em cache" a chave não criptografada. quando você quiser armazenar sua chave descriptografada, você executará ssh-add ~/.ssh/id_rsa
ou qualquer que seja 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, elimine ssh-agent
ou desligamento.
você pode kill
das chaves armazenadas com ssh-agent -k
e você pode atribuir uma vida útil para a chave estar na memória com ssh-agent -t [seconds]
, por exemplo; Se você não quiser manter a sua chave descriptografada para sempre, mas você quer fazer muito ssh-ing em torno de seus hosts, você pode definir o tempo limite para 5-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 da segurança de sua / workstation /, que, se você é o único que tem acesso a ela, e você tem uma senha local bastante segura, e você não convide exploits e rootkits para você, sua chave privada sem senha é razoavelmente segura.
Se você é como eu, e mantém sua chave privada em um thumb-drive, você definitivamente vai querer criptografar isso, mesmo que seja apenas uma chave privada (uma separada da qual eu uso na minha estação de trabalho , então se eu perder minha chave, posso facilmente remover a chave pública da unidade de polegar da lista ~/.ssh/authorized_keys
do meu servidor, o que também traz uma / excelente / razão 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 que você está se conectando, caso seja o que você está fazendo. somente sua chave pública precisa estar no servidor, e isso não é um problema, e é por isso que é uma chave 'pública'.
oh, eu esqueci de mencionar; Eu inicio o ssh-agent
quando eu inicio o X, caso contrário, as chaves não criptografadas que eu armazeno com ssh-add
não são retidas através de diferentes xterm
sessões, e eu tenho que re-digitar a senha toda vez que eu fechar o xterm
Eu lancei ssh-add
in. no meu arquivo ~/.xinitrc
, eu tenho:
if [ -x /usr/bin/ssh-agent ]; then
eval $(/usr/bin/ssh-agent)
fi
Eu tenho a chamada para ssh-agent
envolta em eval
porque o ssh-agent retorna algumas variáveis de ambiente que precisam ser definidas quando é executado e executado a partir de ~/.xinitrc
, as variáveis de ambiente são constantes durante a sessão X.