LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Server (https://www.linuxquestions.org/questions/linux-server-73/)
-   -   SSH Help - How to limit concurrent logins by a user (https://www.linuxquestions.org/questions/linux-server-73/ssh-help-how-to-limit-concurrent-logins-by-a-user-623867/)

brokenpromises 02-26-2008 01:53 AM

SSH Help - How to limit concurrent logins by a user
 
Hello,

I'm trying to stop users from logging in more than once via a certain shell account. Is there an easy way to do this?

Probably a 2 minute job for the pros.

Any help appreciated!

leandean 02-26-2008 11:22 PM

I believe that in /etc/ssh/sshd_config you can set MaxStartups. Where it's located in the file makes it global. If you want to set it per user, look at the bottom of the conf file for examples.

brokenpromises 02-27-2008 12:02 AM

Thanks for the reply, however I wasn't very successful :(

I uncommented MaxStartups in /etc/ssh/sshd_config and set it to "1", and restarted sshd, but I was still able to login multiple times.

Code:

$ w
 19:00:13 up 31 days, 21:44,  4 users,  load average: 0.00, 0.00, 0.00
USER    TTY      FROM              LOGIN@  IDLE  JCPU  PCPU WHAT
root    pts/0    7800gt          18:56  32.00s  0.32s  0.32s -bash
breakawa pts/5    7800gt          18:59  13.00s  0.21s  0.21s -bash
breakawa pts/3    7800gt          18:59  25.00s  0.20s  0.20s -bash
root    pts/6    7800gt          19:00    0.00s  0.24s  0.01s w

Here is my sshd_conf file:

Code:

#        $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

Port 22
#Protocol 2,1
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile        .ssh/authorized_keys

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication mechanism.
# Depending on your PAM configuration, this may bypass the setting of
# PasswordAuthentication, PermitEmptyPasswords, and
# "PermitRootLogin without-password". If you just want the PAM account and
# session checks to run without PAM authentication, then enable this but set
# ChallengeResponseAuthentication=no
#UsePAM no
UsePAM yes

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#ShowPatchLevel no
#UseDNS yes
#PidFile /var/run/sshd.pid
MaxStartups 1
#PermitTunnel no

# no default banner path
#Banner /some/path

# override default of no subsystems
Subsystem        sftp        /usr/libexec/openssh/sftp-server

Am I missing something here?

leandean 02-27-2008 12:26 AM

My bad. Try /etc/security/limits.conf.

* hard maxlogins 4

The asterisk means global. 4 is the number of concurrent logins.

centralb 03-29-2009 03:03 AM

MaxStartups... affects max # of unauthenticated logins/attempts

limits.conf affects more than just ssh


Are you running sshd standalone or through xinetd or similar?


All times are GMT -5. The time now is 09:00 AM.