Pagina 1 di 1

Accesso SSH unico , è possibile ?

Inviato: venerdì 29 maggio 2009, 8:06
da Timeless
Salve a tutti ...

mi trovo a dover limitare l'accesso ad un untente , per limitare intendo impedire che un utente possa aprire più di una sessione SSH.

il comportamento dovrebbe essere cosi fatta ... picco si collega al server liunx sin ssh e lancia l'applicativo ma se per errore fa una seconda connessione ssh sempre con l'utente picco non deve poter avere accesso

è possibile ?

Re: Accesso SSH unico , è possibile ?

Inviato: venerdì 29 maggio 2009, 16:28
da takeshi
Ti serve per un utente particolare oppure per ogni utente?

Nell'ultimo caso puoi provare ad usare il modulo connlimit di iptables

Codice: Seleziona tutto

iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 1 -j REJECT
Non l'ho testato, ma mi sono limitato a modificare un esempio trovato in "man iptables"

Re: Accesso SSH unico , è possibile ?

Inviato: sabato 30 maggio 2009, 19:23
da Timeless
Per ora volevo limitare un utente in particolare per evitare che l'applicativo java associato al login venisse caricato più di una volta , e per tanto lanciare che l'utente root possa aprire più sessioni a suo piacimento

Re: Accesso SSH unico , è possibile ?

Inviato: domenica 31 maggio 2009, 11:55
da takeshi
Ho provato a spulciare il manuale di sshd_config ma non ho trovato nulla di adeguato al tuo problema.
Puoi però forzare l'esecuzione di un tuo script ogni volta che l'utente X si connette via ssh. Nello script puoi facilmente verificare se l'utente sia o meno già loggato e nel caso rifìutare la connessione:

in /etc/ssh/sshd_config aggiungi:

Codice: Seleziona tutto

Match User X
        ForceCommand /root/script.sh
e poi crei /root/script.sh con qualcosa del genere:

Codice: Seleziona tutto

#!/bin/bash

if [ $(who | grep "^$USER " | wc -l) -gt 1 ]; then
        exit;
else
        if [ -n "$SSH_ORIGINAL_COMMAND" ]; then
                $SSH_ORIGINAL_COMMAND;
        else
                bash -i;
        fi
fi
Ricordati di rendere eseguibile lo script.

Se il server è veramente "remoto" occhio a non lasciarti fuori facendo le prove  :o

Re: Accesso SSH unico , è possibile ?

Inviato: lunedì 8 giugno 2009, 21:21
da Timeless
Bella idea questa ... cosi viene limitato ...

Grazie del Consiglio ci Provo ...

Re: Accesso SSH unico , è possibile ?

Inviato: venerdì 12 giugno 2009, 9:10
da Alex M0rF3uS
takeshi ha scritto: Ti serve per un utente particolare oppure per ogni utente?

Nell'ultimo caso puoi provare ad usare il modulo connlimit di iptables

Codice: Seleziona tutto

iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 1 -j REJECT
Non l'ho testato, ma mi sono limitato a modificare un esempio trovato in "man iptables"
in questo modo limiti TUTTE le connessioni, ergo si connette un solo utente, e tutti gli altri stanno fuori  :P

Re: Accesso SSH unico , è possibile ?

Inviato: venerdì 12 giugno 2009, 23:29
da takeshi
No, si collega uno solo per ogni host di provenienza. Lo dice il man
connlimit
      Allows you to restrict the number of parallel connections to  a  server
      per client IP address (or client address block).
Anche io avevo dei dubbi così ho fatto delle prove con un paio di macchine virtuali ed il risultato è
che ogni host è libero di iniziare al più una connessione sulla porta 22 del server.