Configure o SSH para permitir o encaminhamento de porta, mas sem comandos para uma chave específica?

8

Então, adicionei uma chave pública a authorized_keys . Como posso limitá-lo para que ele possa encaminhar portas, mas pode não ter um shell?

    
por thelsdj 13.04.2010 / 20:05

3 respostas

10

Você precisa colocar uma palavra-chave no-pty antes de sua chave para que fique assim:

no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABBACzbcwCZNaN3HhHmpnaVrfZlNJ0HhPnOqEj
k2llms1OOPnEXetIlZuJw0UXbyMbhQbBl/E2wxXvXvF+jyLRR5yN6kBydM4LhjC0ej0PcH839vXd
uwJpDFjPw3s7r0VOhU1WRyk6Da6rX6shzabhQioIm3MHCjNOdywPb0k1cTj4yOxoOCOqGjmXK0
xxzTd+ZjTJqQGWzZ+8L8cVtKmU8kspYlCdhGWSv0Den36OsScnWTBn8A3X3lVJB5NkEm
BM1yKX4F6BhhD317VensEUu031PtFULeSF97IxDPmK36OFz9TPSf4d8Hp3BqtysqUlbWfEhYdHXj
+1Mn4xXZKiZhBh1DX youruser@yourhome

(Tudo isso em uma única linha, adicionei as quebras de linha para facilitar a leitura).

UPDATE: se você quiser evitar a execução de comandos remotos, você deve adicionar: command="/bin/false"

no-pty,command="/bin/false" ssh-rsa ...
    
por 13.04.2010 / 21:07
1

man sshd

Seção AUTHORIZED_KEYS FILE FORMAT . Você pode restringir o que os usuários podem encaminhar simplesmente adicionando as portas e hosts que você deseja permitir, como

permitopen="192.0.2.1:80"

Você também pode restringir o local de conexão do usuário, quais comandos podem ser executados, etc.

    
por 13.04.2010 / 20:41
1

Eu olharia para usar scponly , eu suspeito que ele pode ser usado para encaminhamento de portas em vez de acesso somente ao scp / sftp. Destina-se a restringir o usuário de efetuar login ou executar comandos via ssh.

O outro fator que você pode precisar, ou querer, usar o sshd em um ambiente chroot , aqui estão algumas instruções sobre como configurar o sftp usando o chroot. Você deve ser capaz de adaptá-las com bastante facilidade.

Espero que isso ajude você a encontrar sua solução.

    
por 13.04.2010 / 20:25

Tags