จะถอนการติดตั้ง / ติดตั้ง cygwin ใหม่เพื่อใช้งาน sshd ได้อย่างไร


17

ฉันติดตั้ง cygwin / sshd โดยไม่มีผลลัพธ์ที่ดี ฉันลบไดเรกทอรี c: \ cygwin เพื่อติดตั้งใหม่ ฉันลบผู้ใช้ผู้ดูแลระบบ sshd ด้วยมือ

ฉันติดตั้ง cygwin อีกครั้งจากนั้นเรียกใช้ 'ssh-host-config -y' น่าแปลกที่มันไม่ถามอะไรเลยเกี่ยวกับการสร้างผู้ใช้ใหม่ และขั้นตอนนั้นสั้นจริงๆ

$ ssh-host-config -y
 * ข้อความค้นหา: เขียนทับไฟล์ / etc / ssh_config ที่มีอยู่หรือไม่ (ใช่ / ไม่ใช่) ใช่
 ข้อมูล: การสร้างไฟล์ / etc / ssh_config เริ่มต้น
คำถาม: เขียนทับไฟล์ / etc / sshd_config ที่มีอยู่หรือไม่ (ใช่ / ไม่ใช่) ใช่
 ข้อมูล: การสร้างไฟล์ / etc / sshd_config เริ่มต้น
 ข้อมูล: การแยกสิทธิพิเศษถูกตั้งค่าเป็นใช่โดยค่าเริ่มต้นตั้งแต่ OpenSSH 3.3
 ข้อมูล: อย่างไรก็ตามต้องมีบัญชีที่ไม่มีสิทธิพิเศษที่เรียกว่า 'sshd'
 ข้อมูล: สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการแยกสิทธิอ่าน / usr / share / doc / openssh
ME.privsep
* การค้นหา: ควรใช้การแยกสิทธิพิเศษหรือไม่ (ใช่ / ไม่ใช่) ใช่
ข้อมูล ***: อัปเดตไฟล์ / etc / sshd_config

ข้อมูล ***: การกำหนดค่าโฮสต์เสร็จแล้ว มีความสุข!

เมื่อฉันวิ่ง 'cygrunsrv -S sshd' ฉันได้รับข้อผิดพลาด "ข้อผิดพลาด Win 32 1069: บริการไม่เริ่มทำงานเนื่องจากการเข้าสู่ระบบล้มเหลว" เป็นข้อความที่สมเหตุสมผลเนื่องจากฉันลบ sshd ในฐานะผู้ใช้และขั้นตอนการติดตั้งไม่ได้ทำสิ่งนั้นอีก

ฉันเห็นว่าฉันมีบางอย่างผิดปกติกับการถอนการติดตั้ง

ถาม: ฉันจะถอนการติดตั้งสิ่งที่เกี่ยวข้องกับ sshd ได้อย่างสมบูรณ์แบบอย่างไร


หากทุกอย่างอื่นล้มเหลว: superuser.com/questions/167219/…
ndemou

คำตอบ:


37

หากก่อนหน้านี้ติดตั้ง sshd บนระบบควรดำเนินการขั้นตอนการล้างข้อมูลต่อไปนี้ก่อนที่จะเรียกใช้ ssh-host-config:

# Remove sshd service
cygrunsrv --stop sshd
cygrunsrv --remove sshd

# Delete any sshd or related users (such as cyg_server) from /etc/passwd
#   (use your favorite editor)

# Delete any sshd or related users (such as cyg_server) from the system
net user sshd /delete
net user cyg_server /delete

โปรดทราบว่าเมื่อติดตั้ง sshd แล้ว cygwin shell จะต้องถูกเรียกใช้ในฐานะผู้ดูแลระบบ
f.ardelian

3
ไม่มีไฟล์/etc/passwdสำหรับฉัน นอกเหนือจากนั้นมันใช้งานได้!
จอห์น

คุณพูดว่า "# ลบ sshd หรือผู้ใช้ที่เกี่ยวข้อง (เช่น cyg_server) จาก / etc / passwd" ตกลง แต่จากนั้นคุณพูดว่า "# ลบผู้ใช้ sshd หรือผู้ใช้ relaged (เช่น cyg_server) จากระบบ" ดูเหมือนว่าจะซ้ำด้วยตัวเอง จากนั้นคุณพูดคำสั่งผู้ใช้สุทธิด้านล่างบรรทัดนั้น แต่คำสั่งเหล่านั้นจะไม่ลบผู้ใช้ออกจากระบบ พวกเขาลบบริการ
barlop

ด้วยผู้ใช้ระบบเขาหมายถึงผู้ใช้พีซี windows ของคุณ ด้วยผู้ใช้ / etc / passwd เขาหมายถึงผู้ใช้ที่กำหนดภายในไฟล์นี้สำหรับสภาพแวดล้อมของ cygwin Unix-y (ถ้ามี) "คำสั่งเหล่านั้น" ทำผู้ใช้ลบ: technet.microsoft.com/en-us/library/cc771865(v=ws.11).aspx
ndemou

4

ฉันต้องทำสามขั้นตอนเพื่อให้ติดตั้งใหม่

  • ลบ LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ sshd
  • เรียกใช้ 'sc delete sshd'
  • รีบูต

ปัญหาคือฉันไม่สามารถลงชื่อเข้าใช้ cygwin จาก Mac ซึ่งเป็นเหตุผลที่แน่นอนว่าฉันพยายามติดตั้ง cygwin ใหม่

ฉันทำหัวข้ออื่นเกี่ยวกับปัญหานี้ -> ฉันไม่สามารถเข้าสู่ระบบ cygwin / ssh จาก Mac


ฉันพบของฉันใน ControlSet002 หลังจากค้นหาคีย์ที่ตรงกับ "sshd" อย่างรวดเร็ว
ndemou

1

มองไปที่ลิงค์นี้

https://www.cygwin.com/ml/cygwin/2014-03/msg00315.html

คำแนะนำของใครบางคนจากลิงค์ด้านบนดูเหมือนว่าจะเป็นรายการตรวจสอบที่ยอดเยี่ยมครบถ้วนสมบูรณ์ไม่มีทางลัดและรวดเร็วและ IIRC ใช้ได้สำหรับฉัน

ลบไฟล์ทั้งหมดที่เกี่ยวข้องกับ ssh จาก / etc
ลบ / var / ว่าง
ลบบันทึก ssh ออกจาก / var / log
ลบบัญชี sshd และ cyg_server จาก SAM ของคุณ วางทั้งจาก / etc / passwd
ลบบริการ sshd เริ่มต้นใหม่.

หมายเหตุ - เมื่อมีข้อความว่า "เริ่มต้นใหม่" ซึ่งอาจเป็นการพูดคุยแบบอเมริกันสำหรับการรีสตาร์ทในกรณีนี้คือ windows ที่แจ้งว่าจะลบบริการคุณอาจต้องการหรือต้องการหยุดบริการก่อนที่จะลบบริการ อาจเป็นได้ว่าคุณไม่จำเป็นต้องรีสตาร์ทแม้ว่าคุณจะสามารถ (ดังนั้นคุณสามารถรีสตาร์ทได้ก็ต่อเมื่อมันยังไม่ทำงาน) และที่มีข้อความว่า "SAM ของคุณ" ซึ่งหมายถึงที่เก็บผู้ใช้ windows - พวกเขาแสดงใน 'การจัดการคอมพิวเตอร์' - cygwin ssh เพิ่มผู้ใช้ที่นั่นฉันเห็นผู้ใช้ cyg_server และ sshd ที่นั่นคุณสามารถลบพวกเขาออกจาก gui หรือบรรทัดคำสั่ง และการหยุดและลบบริการอีกครั้งมีคำสั่งมากมายที่สามารถทำได้ cygrunsrv, sc, net และของเหล่านั้นฉันไม่เคยเห็นข้อได้เปรียบของ cygrunsrv และเจย์คนนี้คิดว่า sc มีความน่าเชื่อถือมากกว่าในการหยุดหรือลบทิ้งซึ่งอาจเป็นเช่นนั้น คุณได้คำตอบอื่น ๆ แล้วครอบคลุมคำสั่งอีกครั้งเพื่อหยุดและลบบริการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.