sftp and utmp
John-Mark Gurney
jmg at funkthat.com
Sat Apr 1 08:47:14 AEDT 2023
hvjunk wrote this message on Thu, Mar 30, 2023 at 23:12 +0200:
> I've been battling similar issues, and the only methods I've found (with sftp) was to use
> software like pureftd or crushftp (using crushftp lately as production) that does handle these
> issues "out of the box"
> Other than that, I'd expect you'll need to write your own PAM modules to track the accounting part to
> enforce the limits yourself, as you'll need to account for the sftp different from the terminal sessions
You could use an sftp-server wrapper script that creates a lock file/dir
or another way to detect if a connection is already present, and then
force the use of that script via the sshd_config Subsystem directive.
> > On 30 Mar 2023, at 22:43, François Ouellet <franco at sol.mpact.tv> wrote:
> >
> > Hi,
> >
> > We need to limit concurrent sftp logins to one per user (because of bad
> > client behaviour). Is there any way to achieve this I have overlooked?
> >
> > It seems it could be possible with pam_limits, if sftp sessions were
> > recorded in utmp (a guess from what I found googling around). If I
> > configure /etc/security/limits.conf with
> >
> > testuser hard maxlogins 1
> >
> > and connect with ssh, and try a second connection with sftp, the sftp
> > fails because there is already one session open. But if I connect with
> > sftp and try a second sftp connection, it is allowed.
> >
> > Is there some way to have sftp connections recorded in utmp? I haven't
> > found any reference to this. There are some posts from 10+ years ago
> > where others were trying the same thing but there's no reply about how
> > to do it. Would it be possible to add this option?
> >
> > We're using ChrootDirectory and ForceCommand internal-sftp, if it makes
> > a difference (I've tried without and had the same results).
> >
> > Tried this on Debian bookworm's openssh-server (9.2). The changelog
> > from 9.3 does not mention anything related to this.
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
More information about the openssh-unix-dev
mailing list