Configurare SSH per consentire il port forwarding ma nessun comando per una chiave particolare?


8

Quindi ho aggiunto una chiave pubblica a authorized_keys. Come posso limitarlo in modo che possa inoltrare le porte ma potrebbe non avere una shell?

Risposte:


10

Devi mettere una no-ptyparola chiave prima della chiave in modo che assomigli a questo:

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

(Questo è tutto in una sola riga, ho aggiunto le interruzioni di riga per la leggibilità).

AGGIORNAMENTO: se si desidera impedire l'esecuzione del comando remoto, è necessario aggiungere: command="/bin/false"

no-pty,command="/bin/false" ssh-rsa ...

4
Ciò limita la possibilità di avere un accesso remoto, non impedisce l'esecuzione remota di comandi. Src: marc.info/?l=openssh-unix-dev&m=111143581515782&w=2
mctylr

1
@mctylr: non faceva parte della domanda. Ma hai ragione, forse l'OP non ne era a conoscenza, quindi l'ho aggiunto alla risposta. (+1)
cstamas il

1
Vale anche la pena notare che è necessario utilizzare 'ssh -N' per mantenere attivo il tunnel quando non c'è shell all'estremità remota.
Mike Pountney,

1

man sshd

Sezione FORMATO DI FILE AUTHORIZED_KEYS . Puoi limitare ciò a cui gli utenti possono effettuare il port forwarding semplicemente aggiungendo le porte e gli host che desideri consentire, ad esempio

permitopen = "192.0.2.1:80"

Inoltre puoi limitare da dove si collega l'utente, quali comandi possono eseguire, ecc.


1

Guarderei usando scponly , sospetto che possa essere usato per il port forwarding piuttosto che per l'accesso solo a scp / sftp. Ha lo scopo di impedire all'utente di accedere o eseguire comandi tramite ssh.

L'altro fattore che potrebbe essere necessario o che si desidera utilizzare sshd in un ambiente chroot , ecco alcune istruzioni su come configurare sftp usando chroot. Dovresti essere in grado di adattarli abbastanza facilmente.

Spero che ti aiuti a trovare la tua soluzione.


scponlysembra essersi spostato su github.com/scponly/scponly . Il tuo link dà un 404. :(
Bill Weiss,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.