การเชื่อมต่อ ssh ถูกปฏิเสธบน Raspberry Pi [ปิด]


93

ฉันตระหนักดีว่าคำถามนี้ถูกถามในรูปแบบที่แตกต่างกันไปแล้ว แต่ดูเหมือนว่าวิธีใด ๆ ที่ฉันเคยเจอมาไม่สามารถแก้ไขปัญหานี้ได้ดังนั้นจึงต้องดำเนินการดังนี้:

ฉันพยายามเชื่อมต่อกับการตั้งค่า raspbian raspberry pi 3 ของฉันผ่าน ssh บนแล็ปท็อปของฉัน แต่ถึงแม้ว่าฉันจะมีที่อยู่ IP ที่ถูกต้อง แต่ฉันก็ยังคงได้รับข้อผิดพลาด:

ssh: connect to host xxx.xxx.xx.x port 22: connection refused.

นี่เป็นเรื่องผิดปกติเพราะเมื่อฉันพยายาม ping ที่อยู่นั้นมันก็ใช้ได้ดี มีอะไรให้ฉันลองคิดดูว่ามีอะไรผิดปกติหรือไม่

โปรดทราบว่าฉันค่อนข้างไม่มีประสบการณ์กับ bash ใน linux ดังนั้นการรวมคำสั่งเฉพาะใด ๆ พร้อมคำอธิบายสิ่งที่พวกเขาทำจะได้รับการชื่นชมอย่างมาก


Stack Overflow เป็นไซต์สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมและการพัฒนา คำถามนี้ดูเหมือนจะไม่ตรงประเด็นเนื่องจากไม่เกี่ยวกับการเขียนโปรแกรมหรือการพัฒนา ดูหัวข้อที่ฉันสามารถถามได้ที่นี่ในศูนย์ช่วยเหลือ บางทีSuper UserหรือUnix & Linux Stack Exchangeอาจเป็นสถานที่ที่ดีกว่าในการถาม ดูเพิ่มเติมที่ฉันจะโพสต์คำถามเกี่ยวกับ Dev Ops ได้ที่ไหน
jww

นอกจากนี้ยังมีราสเบอร์รี่ Pi Stack แลกเปลี่ยน
e0k

7
คำถามที่ดีมาก
Richard de Ree

คำตอบ:


204

เห็นได้ชัดว่าเซิร์ฟเวอร์ SSH บน Raspbian ถูกปิดใช้งานตามค่าเริ่มต้นแล้ว หากไม่มีเซิร์ฟเวอร์ฟังการเชื่อมต่อเซิร์ฟเวอร์จะไม่ยอมรับการเชื่อมต่อ คุณสามารถเปิดใช้งานเซิร์ฟเวอร์ SSH ด้วยตนเองตามบทช่วยสอน raspberrypi.orgนี้:

เมื่อวางจำหน่ายเดือนพฤศจิกายน 2016 Raspbian ปิดใช้งานเซิร์ฟเวอร์ SSH โดยค่าเริ่มต้น

ขณะนี้มีหลายวิธีในการเปิดใช้งาน เลือกอย่างใดอย่างหนึ่ง :

จากเดสก์ท็อป

  1. เปิดRaspberry Pi ConfigurationจากPreferencesเมนู
  2. ไปที่Interfacesแท็บ
  3. เลือกEnabledถัดจากSSH
  4. คลิก OK

จากขั้วด้วย raspi-config

  1. เข้าsudo raspi-configสู่หน้าต่างเทอร์มินัล
  2. เลือก Interfacing Options
  3. ไปที่และเลือก SSH
  4. เลือก Yes
  5. เลือก Ok
  6. เลือก Finish

เริ่มบริการ SSH ด้วย systemctl

sudo systemctl enable ssh
sudo systemctl start ssh

บน Raspberry Pi ที่ไม่มีหัว

สำหรับการตั้งค่าแบบไร้หัวคุณสามารถเปิดใช้งาน SSH ได้โดยการวางไฟล์ที่มีชื่อsshโดยไม่มีนามสกุลใด ๆ ลงในพาร์ติชันสำหรับเริ่มระบบของการ์ด SD เมื่อ Pi บูทมันจะมองหาsshไฟล์ หากพบแสดงว่า SSH ถูกเปิดใช้งานและไฟล์จะถูกลบ เนื้อหาของไฟล์ไม่สำคัญ: อาจมีข้อความหรือไม่มีอะไรเลย


4
ขอบคุณมันทำงานได้อย่างสมบูรณ์แบบ! นั่นเป็นการตัดสินใจที่ค่อนข้างแปลกที่จะปิดการใช้งาน ssh โดยค่าเริ่มต้นเนื่องจากเป็นหนึ่งในวิธีหลักในการเชื่อมต่ออุปกรณ์ ...
Matt

11
วิธีใดในการทำสิ่งนี้ในการกำหนดค่าที่ไม่มีหัว? บทช่วยสอนระบุว่าให้วางไฟล์ชื่อ "ssh" ในไดเร็กทอรีสำหรับบูต แต่ไม่ได้ผล
Jeff

12
สำหรับคนอื่น ๆ ที่อาจพบสิ่งนี้ปัญหาคือถ้า RPi ไม่ได้เริ่มต้นใหม่อย่างถูกต้องก่อนการเชื่อมต่อ SSH ครั้งแรกที่ประสบความสำเร็จการ์ด SD จะต้องได้รับการถ่ายภาพใหม่ เมื่อฉันทำสิ่งนี้และเพิ่มไฟล์ "ssh" ที่ว่างเปล่ามันก็ใช้งานได้
เจฟ

8
ว้าวนี่เป็นการเคลื่อนไหวที่โง่เขลาในส่วนของชุมชน RPi ตอนนี้แม้ว่าฉันจะดาวน์โหลดเวอร์ชันที่ไม่ใช้เดสก์ท็อป แต่ฉันก็ยังต้องตั้งค่าเดสก์ท็อปเพื่อเปิดใช้ SSH? ช่างเป็นความเจ็บปวด
Cerin

2
มันจะสมเหตุสมผลกว่านี้ถ้าไฟล์ ssh มีชื่อผู้ใช้และรหัสผ่านเพื่อเปิดใช้งาน
Florian F

-6

ฉันคิดว่า pi เปิดใช้งานเซิร์ฟเวอร์ ssh โดยค่าเริ่มต้น ฉันทำงานนอกกรอบมาโดยตลอด ขึ้นอยู่กับว่าระบบปฏิบัติการเวอร์ชันใด

เวลาส่วนใหญ่ที่มันล้มเหลวสำหรับฉันมันเป็นเพราะที่อยู่ IP ถูกเปลี่ยน บางทีตอนนี้คุณกำลัง ping อย่างอื่น? บางครั้งพวกเขาก็ปฏิเสธที่จะเชื่อมต่อและต้องรีสตาร์ท


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