Bug 698777 - service sshd restart kills other sshd instance and keeps failing to restart
Summary: service sshd restart kills other sshd instance and keeps failing to restart
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: openssh
Version: 6.1
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: Jan F. Chadima
QA Contact: BaseOS QE Security Team
URL:
Whiteboard:
Depends On:
Blocks: 682670
TreeView+ depends on / blocked
 
Reported: 2011-04-21 18:14 UTC by Miroslav Vadkerti
Modified: 2011-07-27 12:37 UTC (History)
1 user (show)

Fixed In Version: openssh-5.3p1-58.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-07-26 12:34:02 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Miroslav Vadkerti 2011-04-21 18:14:15 UTC
Description of problem:
Finally I have a reproducer issue that was hunting me last months. I'm glad it is not that serious and looks like it has been in openssh-server package forever. I can reproduce it on both EL5 and EL6.

The reproducer is very simple:
# service sshd restart
Stopping sshd: [  OK  ]
Starting sshd: [  OK  ]
# netstat -putna | grep sshd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      19565/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      19565/sshd          
# /usr/sbin/sshd -p 133
# netstat -putna | grep sshd
tcp        0      0 0.0.0.0:133                 0.0.0.0:*                   LISTEN      19571/sshd          
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      19565/sshd          
tcp        0      0 :::133                      :::*                        LISTEN      19571/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      19565/sshd          
# service sshd restart
Stopping sshd: [  OK  ]
Starting sshd: [  OK  ]
# netstat -putna | grep sshd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      19565/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      19565/sshd          
# service sshd restart
Stopping sshd: [FAILED]
Starting sshd: [  OK  ]
# netstat -putna | grep sshd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      19565/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      19565/sshd        

As you can see the restarting the sshd service when also sshd on port 133 is running kills this instance and the previous instance is still running. The next restarts fail.

Version-Release number of selected component (if applicable):
openssh-5.3p1-52.el6

How reproducible:
100%

Steps to Reproduce:
see description
  
Actual results:
service sshd restart kills incorrect sshd instance and then begins to fail.

Expected results:
service sshd restart restarts correct sshd instance and doesn't fail if original instance still running. This makes impossible to restart ssh daemon with new configuration for example.

Comment 3 Jan F. Chadima 2011-07-26 10:59:40 UTC
Changes in the init script causes regressions. It is likely that there may even cause regressions on customers. Since this bug is internal error only I recommend to revert this change.

Comment 4 Miroslav Vadkerti 2011-07-26 13:10:17 UTC
This bug can be dropped from the errata. If you want to run more sshd daemons you have to make sure they use separate pid files using the -o 'PidFile pid-file' or other configuration file.


Note You need to log in before you can comment on or make changes to this bug.