ไม่พบกระบวนการ sshd


5

การใช้ PuTTY บนแล็ปท็อป Windows ของฉันฉันสามารถsshเข้าสู่เดสก์ท็อป Mac ของฉันได้ แต่เมื่อฉันลงชื่อเข้าใช้แล้วฉันไม่พบsshdกระบวนการใด ๆ ที่ทำงานบน Mac เช่นการเรียกใช้สิทธิดังต่อไปนี้หลังจาก ssh-ing เข้าสู่ Mac:

% ps -eo pid,command | grep sshd | grep -v grep

... ไม่สร้างผลลัพธ์ แน่นอนว่าไม่มีความจำเป็นที่จะพูดว่าฉันได้รับผลลัพธ์เดียวกัน (ไม่มีการส่งออก) ถ้าผมใช้แทนps -efps -eo pid,command

นอกจากนี้ยังไม่มี/var/run/sshd.pidไฟล์

เกิดอะไรขึ้น? OS X ใช้โปรแกรมอื่นเพื่อจัดการข้อมูลเข้าสู่ระบบ ssh หรือไม่?

คำตอบ:


8

ไม่มี - OS X ใช้OpenSSHและคุณสามารถตรวจสอบรหัสที่มาใช้ที่นี่

จากเอาต์พุตของคุณดูเหมือนว่า sshd จะไม่ทำงานบนเครื่อง นอกจากนี้ps|grep ssh[d]จะป้องกันไม่ให้กระบวนการ grep ของคุณจับคู่เป้าหมาย บางคนกังวลเมื่อพวกเขาไม่เห็น sshd กำลังทำงานเนื่องจากมันเริ่มต้นตามความต้องการเมื่อ launchd ตรวจพบคำขอเครือข่ายที่เข้ามา คุณแน่ใจว่า ssh ทำงานอยู่หรือไม่? คุณสามารถตรวจสอบสิ่งนี้ได้lsof|grep sshหากคุณมีข้อสงสัย

ค้นหาสิ่งนี้เมื่อเริ่มต้นหนึ่ง ssh บน Lion:

Last login: Mon Jul 16 17:58:26 2012 from 10.0.1.35
mac:~ mike$ ps -ef|grep sshd
0   60320     1   0  4:23PM ??         0:00.00 /usr/libexec/launchproxy /usr/sbin/sshd -i
0   60321 60320   0  4:23PM ??         0:00.15 /usr/sbin/sshd -i
501 60330 60321   0  4:23PM ??         0:00.01 /usr/sbin/sshd -i
501 60336 60331   0  4:23PM ttys003    0:00.00 grep sshd

downvoted ไม่แสดงยัง output ps -eo pid,command|grep sshdที่คุณได้รับจาก มันจะแสดงอย่างน้อยกระบวนการให้มากที่สุดเท่าที่แสดงโดยps -ef|grep sshdพิสูจน์ว่าความล้มเหลวของฉันที่จะสังเกตกระบวนการไม่ได้อธิบายโดยตัวเลือกของฉันของธงที่จะsshd ps
kjo

2
อย่างจริงจัง - คุณลงคะแนนเลือกอาร์กิวเมนต์ PS หรือไม่ PID เป็นคอลัมน์ที่สองอย่างชัดเจนและคำสั่งเป็นคอลัมน์สุดท้ายใน-efแต่เป็นการลงคะแนนของคุณที่จะส่ง การวิพากษ์วิจารณ์ทุกคนที่ก้าวเข้ามาพยายามช่วยดูเหมือนเป็นวิธีแปลก ๆ ในการดึงดูดความช่วยเหลือมากขึ้น
bmike

ความคิดเห็นและ downvote ของฉันตอบกลับไปยังโพสต์ดั้งเดิมของคุณซึ่งเริ่มต้น: "ดูเหมือนว่าไวยากรณ์ของคุณจะออกไปเล็กน้อย" วากยสัมพันธ์ใดที่ปิดโดยเฉพาะและ "ปิดไวยากรณ์" นี้ทำให้ฉันไม่สามารถเห็นsshdกระบวนการได้อย่างไร ภายหลังคุณเขียน: "นอกจากนี้ยังps|grep ssh[d]จะป้องกันกระบวนการ grep ของคุณจากการจับคู่เป้าหมาย" ผมไม่เห็นเหตุผลที่นี้มีความเกี่ยวข้องเนื่องจากผมไม่ได้ใช้หรือไม่ผมใช้ps|grep sshd ps|grep sshในที่สุด ...
kjo

... คุณเขียนว่า: "บางคนกังวลเมื่อพวกเขาไม่เห็นว่ากำลังใช้งาน sshd เนื่องจากมันเริ่มต้นตามความต้องการเมื่อ launchd ตรวจพบคำขอเครือข่ายขาเข้า" เนื่องจากฉันเขียนไว้อย่างชัดเจนว่าฉันค้นหาsshdกระบวนการทันทีหลังจาก sshเข้า Mac คำพูดสุดท้ายของคุณรวมถึงคำถามที่คุณถามในคำตอบเวอร์ชันที่แก้ไขของคุณทำให้ฉันถามว่าคุณอ่านโพสต์จริงหรือไม่
kjo

3

ให้ฉันอธิบาย:

sshd โดยค่าเริ่มต้นจะไม่เป็นกระบวนการที่ใช้งานในการบูตหลังจาก 10.3 ตอนนี้ launchd จัดการกับการฟัง ssh sshd เท่านั้นที่ทำงานเมื่อมีการใช้งานเซสชัน ssh


ขณะที่ผมเขียนไว้ในคำอธิบายเดิมของฉันฉันกำลังมองหาsshdกระบวนการจากภายในsshเซสชั่นดังนั้นหากคำอธิบายของคุณถูกต้องผมควรจะได้รับสามารถที่จะหาsshdกระบวนการที่อยู่เบื้องหลังมัน
kjo

1

มันโอเคที่จะโพสต์คำถามเก่าจริง ๆ ... ฉันต้องการคำตอบเดียวกันในวันนี้และจะพยายามชี้แจงให้ชัดเจน

เปิดใช้งานการเข้าสู่ระบบระยะไกลในการตั้งค่าระบบร่วมกันและพอร์ต 22 เปิดอยู่:

% netstat -p tcp -lna | grep '\*\.22'
tcp4       0      0  *.22 *.*  LISTEN     
tcp6       0      0  *.22 *.*  LISTEN

จากนั้น lsof จะแสดง launchd เป็นหนึ่งการฟัง (พบตัวเลือกที่เหมาะสมสำหรับ lsof ใน man page และดำเนินการในฐานะ root):

# lsof -iTCP -sTCP:LISTEN | grep ssh
launchd    1 root   50u  IPv6 0xc3c700cb936cd50f      0t0  TCP *:ssh (LISTEN)
launchd    1 root   51u  IPv4 0xc3c700cb9452be6f      0t0  TCP *:ssh (LISTEN)
launchd    1 root   53u  IPv6 0xc3c700cb936cd50f      0t0  TCP *:ssh (LISTEN)
launchd    1 root   58u  IPv4 0xc3c700cb9452be6f      0t0  TCP *:ssh (LISTEN)

และเมื่อคุณ ssh เข้าสู่ระบบคุณจะเห็นว่า ssh-agent และ sshd นั้นเกิดขึ้นเพื่อจัดการกับการเชื่อมต่อ

 # ps -ef | grep ssh | grep -v grep
 501  1231     1   0 12:52PM ??         0:00.02 /usr/bin/ssh-agent -l
 0    1257     1   0 12:53PM ??         0:00.04 sshd: xxxxx [priv] 
 501  1259  1257   0 12:53PM ??         0:00.02 sshd: xxxxx@ttys002 

คุณหมายถึงสิ่งนั้นที่ssh-agentทำงานบนฝั่งระยะไกลและมีความรับผิดชอบในการจัดการกับการเชื่อมต่อหรือไม่? วิธีนี้เหมาะสมกับการman ssh-agentระบุว่าssh-agent»เริ่มต้นในตอนต้นของ […] เซสชันการเข้าสู่ระบบ«แล้วจึง»ใช้สำหรับการตรวจสอบสิทธิ์เมื่อลงชื่อเข้าใช้เครื่องอื่นโดยใช้ ssh « นี่ไม่ได้หมายความว่าเอเจนต์จะรันบนโลคัลมากกว่าด้านรีโมตโดยทั่วไปก่อนที่ผู้ใช้จะเริ่ม ssh เพื่อเชื่อมต่อกับเซิร์ฟเวอร์รีโมต
Synoli
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.