Uma forma de tornar sua conexão SSH mais segura é por utilizar uma chave de acesso.

Mas nem sempre é possível ficar carregando sua chave, então uma forma de tornar sua conexão mais segura seria por uma autenticação em duas etapas. Por sorte a Google disponibiliza o Google Authenticator. Talvez você já o utilize em sua conta da Google. Talvez você não saiba, mas é possível utiliza-lo para gerar essa senha para você, e não apenas para o SSH mas também para o GDM ou o LightDM.

A primeira coisa a fazer é instalar a biblioteca com o suporte. Se você utiliza distribuições baseadas em RedHat, troque o apt-get pelo yum ou por qualquer outro comando que sua distro use para instalar os pacotes.

# apt-get install libpam-google-authenticator

Após instalar o pacote, execute o comando google-authenticator, lembrando de utiliza-lo com o usuário que terá de ter acesso em duas etapas.

# google-authenticator 

Responda "yes" para todas as perguntas e será gerado um QRCode para a configuração do authenticator no celular.

qrcode

Vamos configurar o celular antes de continuar para não correr o risco de fecharmos a conexão antes. Caso ainda não tenha instalado, instale o Google Authenticator no seu celular. (Android, iPhone)

Depois de instalado, clique no meu e vá em Configurar Conta. Clique em Ler um código de barras e aponte o celular para a tela do monitor e pronto, esta configurado.

Screenshot_20160217-155803Screenshot_20160217-155800

 

Depois de feito isso, será necessário editar dois arquivos. Primeiro vamos editar o sshd dentro de /etc/pam.d. (eu gosto de utilizar o vim, mas você pode usar o nano ou qualquer outra coisa q preferir)

# vi /etc/pam.d/sshd

e acrescente a seguinte linha no fim do arquivo:

auth required pam_google_authenticator.so

Salve o arquivo, caso esteja usando o vim, aperte ESC, e depois : x para salvar e sair

Depois vamos editar o sshd_config.

# vi /etc/ssh/sshd_config 

Atenção agora. Em alguns tutoriais que vi por aí eles diziam para incluir uma linha no arquivo, no meu eu precisei alterar, se você incluir a linha e ela ja existir no arquivo, a configuração não vai funcionar e provavelmente você não conseguirá logar novamente. (aconteceu comigo e por sorte eu tinha acesso físico ao servidor).

Procure a linha que contem ChallengeResponseAuthentication (no meu arquivo ela estava na linha 65) e altere o no para yes, ficando assim:

ChallengeResponseAuthentication yes

Feito isso basta reiniciar o serviço SSH com /etc/init.d/ssh restart ou /etc/init.d/sshd restart ou service ssh restart ou service sshd restart, sei lá como taí.

Ah, caso queria colocar a autenticação no seu desktop, seja no trabalho ou em casa, basta colocar:

auth required pam_google_authenticator.so

No arquivo referente ao seu gerenciador de login. Por exemplo, se voce utiliza o GMD coloque no arquivo: /etc/pam.d/gdm-password, se for o Lightdm no /etc/pam.d/lightdm e reiniciar os serviços.