Atentificação de dois fatores no servidor SSH sem privilégios de root

1

Eu quero configurar dois fatores de autenticação em um servidor, em que eu não tenho conta administrativa. O objetivo disto é: Eu quero dar a algumas outras pessoas a possibilidade de criar túneis SSH para este servidor (através da minha conta), mas eu não quero que eles tenham acesso ao shell.

A única pista que encontrei até agora é a criação de um script personalizado .bash_profile, que pede uma segunda senha muito parecida com essa pergunta:

link

No entanto, é inútil, pois ainda é possível fazer o login através do sftp e remover o script.

Então, é possível fazer isso sem privilégios de superusuário?

    
por Shyman 22.01.2015 / 18:17

1 resposta

0

Você misturou terminologia em sua pergunta. Primeiro você pede a autenticação de dois fatores. Em seguida, você prossegue para explicar suas necessidades, que não são de forma alguma relacionadas à autenticação de dois fatores. A autenticação de dois fatores em si não impõe nenhuma limitação ao que o usuário pode fazer uma vez autenticado.

É possível impor limitações ao que pode ser feito com um login ssh, contanto que uma chave pública seja usada para autenticação.

Em ~/.ssh/authorized_keys , você pode impor limitações sobre o que cada chave especificada nesse arquivo pode ser usada. Por exemplo, se você não quiser permitir o acesso ao shell, poderá forçar um comando, que não faz nada:

command="/bin/false" ssh-rsa ...

A chave nessa linha não terá acesso nem ao shell nem ao sftp. Ele ainda pode ser usado para encaminhamento de porta, desde que o sinalizador -N seja usado no lado do cliente. Existem muitas outras limitações possíveis. Para uma lista completa das limitações que você pode impor no uso da chave, veja a página man do sshd.

    
por 22.01.2015 / 20:08