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

8

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

thelsdj
fonte

Respostas:

10

Você deve colocar uma no-ptypalavra - chave antes da sua chave para que fique assim:

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

(Isso é tudo em uma única linha, eu adicionei as quebras de linha para facilitar a leitura).

UPDATE: se você deseja impedir a execução remota de comandos, é necessário adicionar: command="/bin/false"

no-pty,command="/bin/false" ssh-rsa ...
cstamas
fonte
4
Isso restringe a capacidade de ter um logon remoto, não impede a execução remota de comandos. Src: marc.info/?l=openssh-unix-dev&m=111143581515782&w=2
mctylr
1
@mctylr: isso não fazia parte da pergunta. Mas você está certo, talvez o OP não estivesse ciente disso, então eu adicionei isso à resposta. (+1)
cstamas 16/04/10
1
Também digno de nota é que você precisa usar 'ssh -N' para manter o túnel ativo quando não houver shell na extremidade remota.
quer
1

homem sshd

Seção AUTHORIZED_KEYS FORMAT DE ARQUIVO . Você pode restringir para quais usuários a porta pode encaminhar simplesmente adicionando as portas e os hosts que deseja permitir, como

permitopen = "192.0.2.1:80"

Também é possível restringir de onde o usuário se conecta, quais comandos podem ser executados etc.


fonte
1

Eu usaria o scponly , suspeito que ele possa ser usado para encaminhamento de porta 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, sshd em um ambiente chroot , aqui estão algumas instruções sobre como configurar o sftp usando chroot. Você deve poder adaptá-los facilmente.

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

mctylr
fonte
scponly parece ter se mudado para github.com/scponly/scponly . Seu link fornece um 404. :(
Bill Weiss