Come fare a sshd rileggere il suo file di configurazione (senza uccidere le connessioni ssh)?

8

Come posso ottenere che il server ssh rileggi il suo file di configurazione ( /etc/sshd_config ), senza uccidere le connessioni ssh esistenti?

EDIT: se eseguo kill -HUP <SSHD_PID> I kill la connessione.

    
posta kjo 12.04.2013 - 18:25
fonte

3 risposte

5

sshd non "rilegge" il suo file di configurazione, si riavvia da solo (fai riferimento a man sshd (8)), tuttavia, non dovrebbe uccidere il bambino / le connessioni se hai inviato il SIGHUP al PARENT di loro tutti. Questo è quando parli di sshd che si lega alla porta 22, come nel "solito" con Linux / FreeBSD / etc. [ci sono delle eccezioni e sysadmin spiega perché seguire il percorso del tipo MacOSX]

TUTTAVIA MacOSX ha lanciato come quello che ascolta e gestisce la porta 22 (dalla mia macchina 10.10.4):

BlackYos:~ hvisage$ sudo lsof -i :22
Password:
COMMAND  PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
launchd    1    root   57u  IPv4 0xdb59a664e4b34941      0t0  TCP blackyos:ssh->hvs:39093 (ESTABLISHED)
launchd    1    root   58u  IPv4 0xdb59a664e4b34941      0t0  TCP blackyos:ssh->hvs:39093 (ESTABLISHED)
launchd    1    root   62u  IPv6 0xdb59a664c78cd671      0t0  TCP *:ssh (LISTEN)
launchd    1    root   66u  IPv4 0xdb59a664c78d2e21      0t0  TCP *:ssh (LISTEN)
launchd    1    root   67u  IPv6 0xdb59a664c78cd671      0t0  TCP *:ssh (LISTEN)
launchd    1    root   68u  IPv4 0xdb59a664c78d2e21      0t0  TCP *:ssh (LISTEN)
ssh     1262 hvisage    3u  IPv4 0xdb59a664e59313b1      0t0  TCP blackyos:51628->hvs:ssh (ESTABLISHED)
sshd    1272    root    4u  IPv4 0xdb59a664e4b34941      0t0  TCP blackyos:ssh->hvs:39093 (ESTABLISHED)
sshd    1272    root    5u  IPv4 0xdb59a664e4b34941      0t0  TCP blackyos:ssh->hvs:39093 (ESTABLISHED)
sshd    1274 hvisage    4u  IPv4 0xdb59a664e4b34941      0t0  TCP blackyos:ssh->hvs:39093 (ESTABLISHED)
sshd    1274 hvisage    5u  IPv4 0xdb59a664e4b34941      0t0  TCP blackyos:ssh->hvs:39093 (ESTABLISHED)

È un launchd che potrebbe dover essere "riavviato" su macosx, o detto su diverse porte da ascoltare per sshd, dato che launchd genererà un nuovo sshd per ciascuna porta 22 che arriva.

controlla quanto segue:

BlackYos:~ hvisage$ sudo ps -ef |grep -i ssh
  501  1263     1   0  6:46PM ??         0:00.06 /usr/bin/ssh-agent -l
    0  1272     1   0  6:46PM ??         0:00.40 sshd: hvisage [priv]
  501  1274  1272   0  6:46PM ??         0:00.03 sshd: hvisage@ttys004
  501  1262   570   0  6:46PM ttys001    0:00.05 ssh -v hvs
  501  1303  1275   0  6:50PM ttys004    0:00.00 grep -i ssh
BlackYos:~ hvisage$

Ho ssh'd sul mio router e ritorno per dimostrare il problema, e noterai che i due processi sono già "di mia proprietà". Confrontalo con un sistema Linux (il mio roouter) dove noterai il terzo sshd "reale" di proprietà di root:

hvisage@hvs:~$ ps -ef |grep -i ssh
root      4053     1  0 Jul11 ?        00:04:22 /usr/sbin/sshguard -i /var/run/sshguard.pid -l /var/log/auth.log -w /etc/sshguard/whitelist -a 40 -p 420 -s 1200
root     16244 30219  0 18:46 ?        00:00:00 sshd: hvisage [priv]
hvisage  16249 16244  0 18:46 ?        00:00:00 sshd: hvisage@pts/0
hvisage  16563 16250  0 18:52 pts/0    00:00:00 grep -i ssh
root     30219     1  0 Aug09 ?        00:00:00 /usr/sbin/sshd
hvisage@hvs:~$
    
risposta data 11.08.2015 - 18:57
fonte
1

La riga seguente controlla prima la configurazione e ottiene il PID del processo principale mantenendo tutti gli altri (testato in Linux, zsh):

if /usr/sbin/sshd -t; then kill -HUP 'ps aux | grep "/usr/sbin/sshd" | grep -v grep | awk '{ print $2 }''; fi
    
risposta data 24.05.2016 - 11:33
fonte
-2

Semplicemente:

~# kill -HUP $(pidof sshd)
    
risposta data 01.08.2017 - 08:42
fonte

Leggi altre domande sui tag