Como permitir que qualquer pessoa acesse um programa através do SSH

1

O arquivo .ssh/authorized_keys pode ser usado para ativar o login sem senha. Em conjunto com a opção command , ela pode ser usada para restringir esses logins a determinados comandos. Por exemplo:

command="gitosis-serve joey@dulcimer",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-dss AAA...

Isso significa que, se eu tiver a chave privada correspondente a essa chave pública, posso fazer o login sem uma senha, mas tudo o que posso fazer é executar gitosis-serve joey@dulcimer .

Como permito que alguém efetue login, mas com restrições semelhantes?

Idéias:

  • Apenas hospede um servidor telnet. O problema é que não é criptografado.

  • Defina uma senha trivial (por exemplo, password ). Isso funcionaria, mas como eu definiria command etc.?

  • Distribua a chave privada correspondente à chave pública em authorized_keys . Isso funcionaria, mas duvido que seja seguro. Não poderia Mallory usar a chave privada para descriptografar os dados enviados para Alice durante o handshaking?

por Joey Adams 30.07.2011 / 02:17

2 respostas

2

A maneira padrão de fazer isso é distribuir publicamente a chave privada. Eu vi que era muito usado "no passado" quando as pessoas não queriam lidar com os horrores do acesso anônimo do pserver ao CVS. Não é inseguro da maneira que você sugere, porque o SSH não usa o par de chaves do cliente para outra coisa senão a autenticação; para a criptografia de tráfego real, uma chave de sessão é negociada e é usada para proteger as comunicações.

    
por 30.07.2011 / 02:28
0

Crie um grupo de usuários e forneça um nome de usuário e uma senha separados para usar o acesso ssh.
Publicar a chave privada não é uma coisa boa. Ou então, se você pode criar um script python incluindo o & private & chave pública para acessar o SSH e distribuir a versão compilada (ssh_login.pyc ou qualquer outro idioma comparável) espero que funcione.

    
por 30.07.2011 / 16:43

Tags