new feature MaxIdleTime
Andreas Schigold
andreas at schigold.de
Fri Jul 21 07:30:12 EST 2006
Hello,
in the company I work for we have an ISDN-router is dialing automatic
to a special machine if a special IP-address is called by a client-PC
inside the company. So we maintain the machines of our customers. But
there is one problem: We cannot say to this router "hang up - I'm
ready". So he has a configured idle timeout after this time he hang up
by himself.
So we need a short idle timeout to save money after closing of
connection. But the service stuff maintains the machines is unhappy
since the connection to many machines often goes to sleep and to the
other machines the line breaks since there is a VPN or WAN connection
on customers side.
Okay, we can set one of the options TCPKeepAlive or
ServerAliveInterval. But there is one problem: If a colleague forgets
to close the ssh-session, it is living until the judgement day.
So I searched for a solution supports 2 levels of idle timeout
* a short timeout, if we want to close a session and
* a long timeout, if a session is forgotten.
After a long searching and thinking my only idea was to expand the ssh
for our advantage. The result of my work you will find behind the link
[1]http://schigold.de/openssh/index.html . I hope you will find it
usefull and I'm close to the coding rules. If you want to put my
result into one of the next versions, it would have two advantages to
me. If my administrator upgrades the ssh, I don't need to reexpand the
next version and if you accept my work he will accept this too.
If you don't want to accept my patch, please tell me why and if I can
do anything for your acceptence, please let me know. If you have
questions, please ask me. If you accept it, please let me know the
version you will put it in.
Here I want to describe a use case:
* we can set the idle timeout of the ISDN-router to - let's say - 10
Seconds
* we can call our machines with "ssh -oServerAliveInterval=3
-oMaxIdleTime=180 user at machine-ip"
* if the user closes the connection, ISDN-line hangs up 10 Seconds
later
* if the user interruptes his interaction for what ever (i.e. search
something he needs to continue) he has a time window of 3 minutes
* if the user forget to close the session, it closes by itself 3
minutes later, ISDN-line hangs up 3 minutes and 10 Seconds after
last interaction
During such a session a user may start different programms inside the
login shell, i.e. midnight commander or our special service tools. If
the service employee forgets to close all these programms then the
shell environment variable TMOUT won't work for us. I discussed the
topic in [2]tech at openbsd.org first and one poster ment, I should
discuss it now here.
Important: If the parameter is unused or set to 0 the behavior of
"ssh" should be unchanged in compare with before. If it is used the
behavior should be the same like a user closes the connection by
itself after the configured idle-time (except this one printout that
the idle-timeout happened)
Also important: In my point of view the security and stability issues
should be close untouched. But if you detect errors or problems I have
to solve, please give me informations to my fault and give me the
chance to make it better
But very important: If I made errors (in programming or in the
procedure) please help me since it is my first action in a free
project.
kind regards
Andreas Schigold
--
#############################
# Andreas Schigold #
# mail: [3]andreas at schigold.de #
#############################
References
1. http://schigold.de/openssh/index.html
2. mailto:tech at openbsd.org
3. mailto:andreas at schigold.de
More information about the openssh-unix-dev
mailing list