sshd ไม่ได้ "อ่านซ้ำ" เป็นไฟล์กำหนดค่ามันจะรีสตาร์ทเอง (อ้างถึง man sshd (8)) อย่างไรก็ตามไม่ควรฆ่าเด็ก / การเชื่อมต่อหากคุณส่ง SIGHUP ไปยังผู้ปกครองของพวกเขาทั้งหมด นั่นคือเมื่อคุณกำลังพูดถึง sshd ที่ผูกกับพอร์ต 22 เช่นเดียวกับใน "ปกติ" กับ Linux / FreeBSD / etc [มีข้อยกเว้นและดูแลระบบสาเหตุที่ต้องทำตามเส้นทางประเภท MacOSX]
HOWEVER MacOSX ได้เปิดตัวเป็นผู้ฟังและจัดการพอร์ต 22 (จากเครื่อง 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)
มันเป็น launchd ที่อาจต้อง "เริ่มต้นใหม่" บน macosx หรือบอกเกี่ยวกับพอร์ตที่แตกต่างกันเพื่อฟังสำหรับ sshd เนื่องจาก launchd จะวางไข่ sshd ใหม่สำหรับการเชื่อมต่อแต่ละพอร์ตที่ 22 ที่มา
ตรวจสอบสิ่งต่อไปนี้:
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$
ฉันได้ไปที่เราเตอร์แล้วกลับมาสาธิตปัญหาอีกครั้งและคุณจะสังเกตเห็นว่ากระบวนการทั้งสองนี้เป็นของฉัน "เป็นเจ้าของ" แล้ว เปรียบเทียบสิ่งนี้กับระบบ Linux (my roouter) ซึ่งคุณจะสังเกตเห็น sshd "ของจริง" ตัวที่สามที่ 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:~$
kill -HUP <PID of sshd>
หรือไม่? ตามที่:man sshd
sshd rereads its configuration file when it receives a hangup signal, SIGHUP
(คุณสามารถหา PID ของsshd
ด้วยps -ef|grep sshd
หากมีมากกว่าหนึ่ง.sshd
ขั้นตอนการส่งHUP
ทั้งหมดของพวกเขา.)