chaves SSH usando o gnome-keyring em vez de ssh-add

0

Não tenho certeza sobre o que estou perguntando porque não tenho certeza de como funciona todo esse mundo, mas, tenho um servidor Ubuntu 14.04 privado instalado usando o VirtualBox, que eu uso para desenvolvimento, sem X servidor. Então, é em terra terminal.

Eu executo meu servidor privado no terminal ( vboxmanage startvm ) e conecto a ele com ssh . Dentro do servidor privado, conecto-me ao meu servidor público quando preciso usar ssh novamente.

Quando eu me conecto ao meu servidor privado, ou uso o ssh para qualquer outra coisa, eu tenho que digitar minha frase secreta apenas uma vez durante uma sessão inteira de desktop. Eu não sei quem é responsável por isso, mas acho que é o gnome-keyring-daemon . Mas dentro do meu servidor privado, eu tenho que digitar minha frase toda vez que eu uso a minha chave (para se conectar ao servidor público, por exemplo). Eu não quero usar ssh-agent ou ssh-add porque eu não quero ser pronto apenas para conexão com meu servidor privado, especificamente se eu tiver mais de uma chave protegida por senha. Além disso, é o problema de ter uma instância de ssh-agent em cada nova sessão de terminal.

O gnome-keyring já está instalado no meu servidor privado, mas não sei como "ativá-lo" para gerenciar minhas chaves e para evitar a solicitação da minha frase-senha, toda vez que eu quiser conectar-me de dentro meu servidor privado para o meu servidor público (tenho alguns scripts que se conectam a ele várias vezes em uma única execução).

Por último, não se esqueça de que o servidor privado não tem atualmente nenhuma área de trabalho e não estou pronto para instalá-lo.

    
por Peregring-lk 31.10.2016 / 19:46

2 respostas

2

O que você está realmente procurando é um ssh-agent . Isso é o que lembra o fato de que você desbloqueou sua chave com uma frase secreta e a mantém desbloqueada enquanto você está conectado. Há algumas implementações diferentes, gnome-keyring fornece uma, embora para servidores sem cabeçalho você possa chamar mais facilmente ssh-agent diretamente em seu .bashrc ou use keychain , que é um aplicativo que envolve ssh-agent e facilita muito a vida.

O Keychain deve estar disponível via sudo apt-get install keychain ou no Fedora ( dnf ), CentOS ( yum ) ou Arch ( pacman ). Depois de instalá-lo, você poderá adicionar uma linha como eval $(keychain --eval) ao seu .bashrc e ele será iniciado e manterá apenas uma instância de ssh-agent em execução para seu usuário. Se você adicionar um nome de chave após o --eval , ele carregará a (s) chave (s) com o nome na primeira vez que você fizer login, solicitando sua (s) senha (s) imediatamente e mantê-las escondidas.

Você pode ver quais chaves são carregadas com ssh-add -l e você pode adicionar uma chave com ssh-add ~/.ssh/keyname , que solicitará apenas uma vez a frase secreta e a armazenará até que você efetue logout ou keychain seja interrompido / eliminado. Você pode adicionar um comando kill a .bash_logout se estiver preocupado em manter suas chaves desbloqueadas depois de desconectar.

Veja o site muito legal com excelentes links para como o OpenSSH funciona e bons exemplos, link e aproveite para não digitar sua senha repetidamente .

    
por dragon788 14.11.2017 / 21:58
0

Você não pode usar o gnome-keyring em um ambiente sem cabeçalho. Ele é projetado para o GNOME e requer a apresentação de uma interface do usuário para solicitar a frase secreta.

Você pode, no entanto, usar ssh -A para se conectar a esse servidor, e o agente local será encaminhado, para que você não tenha que manter chaves privadas no servidor, e você não terá que voltar digite sua senha toda vez que você quiser se conectar a partir desse servidor para outro host (ou você pode simplesmente conectar a esses hosts de sua máquina local em vez do servidor, o que seria mais seguro). Isso reduz um pouco a segurança, já que você está fornecendo uma conexão de volta ao agente ssh em seu host local, para que um cliente ou servidor vulnerável possa fazer com que suas chaves sejam comprometidas.

    
por dobey 31.10.2016 / 20:28