ปัญหา SSH หลังจากอัพเดต


9
Setting up openssh-server (1:5.3p1-3ubuntu7) ... 
Creating SSH2 RSA key; this may take some time ... 
Creating SSH2 DSA key; this may take some time ... 
start: Job failed to start

ไม่สามารถเริ่มต้น ssh แล้วลองติดตั้งใหม่

เซิร์ฟเวอร์ SSH เริ่มต้นด้วยตนเองผ่านทาง /etc/init.d/ssh start

netstat -nlp แสดงให้เห็นว่าไม่มีบริการใดที่ทำงานอยู่ที่พอร์ต TCP 22


คุณช่วยอธิบายคำถามของคุณได้ไหมถ้าคุณลองเริ่มด้วยตนเองเช่นsudo /etc/init.d/ssh startและถ้าเป็นเช่นนั้นมันมีข้อผิดพลาดแตกต่างจากเมื่อคุณติดตั้งหรือไม่? นอกจากนี้คุณอาจต้องการติดตั้งnmapและเรียกใช้nmap 127.0.0.1เพื่อดูว่ามีอินสแตนซ์ของ ssh ที่ทำงานอยู่และวางผลลัพธ์ไว้ในคำถามของคุณหรือไม่
Azendale

ฉันพยายามเรียกใช้ด้วยตนเองและได้สิ่งเดียวกัน
Frielspak

ลองเริ่ม ssh daemon อีกครั้งด้วยตนเองจากนั้นเปิด/var/log/authและตรวจสอบที่ด้านล่างของไฟล์ที่บันทึกแสดง ...
Pavlos G.

คำตอบ:


16

ไม่แน่ใจว่าทางออกของฉันถูกต้อง แต่ถ้าคุณต้องการเริ่มต้นเซิร์ฟเวอร์ SSH ของคุณและแก้ไขปัญหาของคุณในภายหลังนี่คือวิธีแก้ปัญหาอย่างรวดเร็วของฉัน:

start-stop-daemon --start --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- -p 22

ถ้าเป็นเช่นนั้นคุณจะเห็นข้อผิดพลาด:

Missing privilege separation directory: /var/run/sshd

จากนั้นเพียงสร้างไดเรกทอรีที่หายไปและลองใช้คำสั่ง start-stop-daemon อีกครั้ง:

mkdir /var/run/sshd
chmod 0755 /var/run/sshd

ที่ช่วยให้ฉันเริ่ม sshd daemon ของฉัน


1
แก้ไขได้เฉพาะสำหรับเซสชันปัจจุบันเท่านั้น หลังจากรีบูตไดเรกทอรีนั้นจะหายไป
Malfist

2
ในไฟล์ /etc/init/ssh.conf เพิ่มในส่วนสคริปต์ก่อนเริ่มบรรทัด folowing: "mkdir -p -m0755 / var / run / sshd"
achabahe

4

ฉันมีปัญหาเดียวกันที่sshdจะไม่เริ่มต้นเนื่องจากข้อผิดพลาด มันแสดงให้เห็นว่ามีไดเรกทอรีไม่มี
/var/run/sshd

ll  /var/run

/runแสดงให้เห็นการเชื่อมโยงไปยัง
แต่ในระบบของฉัน/runทำงานบน ramdisk
ดังนั้นผมจึงลบการเชื่อมโยงและสร้างไดเรกทอรีและ/var/run /var/run/sshdตอนนี้การsshdเริ่มต้นตามปกติและฉันสามารถเข้าถึงระบบของฉันได้sshอีกครั้ง


1

กำหนดค่าไฟร์วอลล์ใหม่เพื่ออนุญาตให้พอร์ต 22 ใช้งานได้สำหรับฉัน

ufw enable
ufw allow 22

0

ดูเหมือนจะมี 3 ประเด็นที่ทำให้เกิดพฤติกรรมนี้ (สำหรับระบบ Ubuntu ของฉัน 14.04LTS):

1- ssh งานที่ไม่รู้จักเกิดขึ้นเมื่อคุณพยายามใช้ 'service ssh start' จากเซสชัน 'su' วิธีแก้ไขคือการใช้บริการ sudo จากผู้ใช้ที่เข้าสู่ระบบซึ่งสามารถ 'sudo'

2- สคริปต์ init.d / ssh ที่มีอยู่กำลังออกไปอย่างเงียบ ๆ โดยไม่เริ่ม sshd จริง ๆ เมื่อ ssh กำลังพุ่งพรวด

3- เหตุผลหลักที่ ssh ไม่ได้เริ่มทำงานนั้นเป็นเพราะใน Ubuntu 14.04 มีไฟล์ว่าง / etc / ssh / sshd_host_not_to_run ซึ่งแสดงว่า sshd ไม่ควรทำงาน เพียงลบไฟล์นั้นถ้าคุณต้องการให้ sshd ทำงาน

ดังนั้นโซลูชันโดยรวมคือ: ใช้ sudo service ssh start หลังจากลบ / etc / ssh / sshd_host_not_to_run



0

มีรายงานข้อผิดพลาดพร้อมวิธีแก้ปัญหาที่ไม่ใช่ kluge สำหรับข้อบกพร่องนี้

https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1811580

สามารถคลี่คลายได้โดยการตั้งค่า 'UsePrivilegeSeparation no' โดยนัยใน / etc / ssh / sshd_config

การติดตั้งใหม่ไม่จำเป็นต้องแก้ไข

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