การเริ่มต้น ssh โดยอัตโนมัติในเวลาบูต


39

ฉันกำลังติดตามบทเรียนจำนวนหนึ่งที่อธิบายวิธีการตั้งค่าการ์ด SD ที่บู๊ตเครื่องโดยอัตโนมัติเปิดใช้งาน ssh ในกระบวนการ ฉันกำลังทำเช่นนี้เพราะฉันมีแล็ปท็อปเท่านั้นและไม่มีแป้นพิมพ์สำรองหน้าจอ ฯลฯ ปัญหาของฉันคือฉันไม่พบไฟล์ boot_enable_ssh.rc

บทเรียนทั้งหมดที่ฉันได้อ่านอธิบายโดยใช้ dd (ดังนั้นการทำเช่นนี้โดยใช้ Unix (Ubuntu)) เพื่อเขียนไฟล์. img ลงในการ์ด SD ทำแบบนี้:

sudo dd bs=1M if=/path/to/2012-08-16-wheezy-raspbian.img of=/dev/sdb

การดำเนินการนี้เสร็จสมบูรณ์ ขั้นตอนต่อไปคือการคัดลอกไฟล์

mv  /boot/boot_enable_ssh.rc  /boot/boot.rc

boot_enable_ssh.rc หายไป

ฉันเรียกใช้การกระทำ dd โดยใช้ไฟล์รูปภาพล่าสุดสองไฟล์จากเว็บไซต์อย่างเป็นทางการของ RPi - 2012-07-15-wheezy-raspbian.img - 2012-08-16-wheezy-raspbian.img

แต่สำหรับทั้งคู่ไม่มีไฟล์ /boot/boot_enable_ssh.rc

ฉันได้ลองค้นหาด้วย find ( sudo find /media/ -name boot_enable_ssh.rc) แล้ว ยังไม่ประสบความสำเร็จ

ฉันกำลังทำบางสิ่งผิดปกติหรือไม่มีวิธีอื่นที่จะทำให้เกิด SSH


1
systemctl enable ssh
user3123159

คำตอบ:


45

แม้ว่า Raspbian จะใช้การเปิดใช้งาน ssh ตามค่าเริ่มต้นตั้งแต่เดือนธันวาคม 2559 แต่จะไม่ทำเช่นนั้นอีกต่อไป ในขณะที่ยังคงไม่มีไฟล์ boot_enable_ssh.rc เป็น OP ที่ร้องขอใน 2012, SSH สามารถเปิดใช้งานในการบูตครั้งแรกโดยการสร้างไฟล์ที่เรียกว่า“SSH” /bootใน ตามที่/bootสามารถเขียนได้โดยระบบปฏิบัติการใด ๆ ที่เข้าใจ SD การ์ดขั้นตอนพิเศษนี้ทำได้อย่างง่ายดายในการติดตั้งครั้งแรก ไม่จำเป็นต้องทำอีกครั้งด้วยภาพการ์ดใบเดียวกัน คุณยังสามารถเปิดใช้งานได้raspi-configเหมือนเมื่อก่อน

ราสเบอร์รี่ Pi มูลนิธิเลือกที่จะทำเช่นนี้ช่วยให้ SSH โดยค่าเริ่มต้นและมีการรวมกันชื่อผู้ใช้ / รหัสผ่านที่รู้จักกันดีคือการเสี่ยงด้านความปลอดภัย


ภาพ“ wheezy” Raspbian ที่สามารถดาวน์โหลดได้อย่างเป็นทางการเริ่มต้น sshd ต่อค่าเริ่มต้น
KARASZI István

1
“ jessie” จะไม่เริ่มต้น sshd อีกต่อไปตามค่าเริ่มต้น
Simon A. Eugster

2
ใช่อัปเดตคำตอบของฉันให้ตรงกับความเป็นจริง มันค่อนข้างดีที่จะเป็นจริงมานานกว่าสี่ปี ...
scruss

ขอขอบคุณสำหรับการปรับปรุง - แค่อยากจะเพิ่มการเชื่อมโยงเดียวกัน :)
ไซมอนเอ Eugster

ใช่ หากต้องการชี้แจงให้/bootอ้างถึงพาร์ติชันที่เรียกว่า boot ไม่มีไดเรกทอรีbootในพาร์ติชั่น raspbian ext4
Mikel

3

โดยไม่คำนึงว่า ssh ถูกเปิดใช้งานโดยค่าเริ่มต้นในการแจกจ่ายเฉพาะ:

mv /boot/boot_enable_ssh.rc /boot/boot.rc

ต้องรันบน Raspberry Piเพื่อให้ทำงานได้ตามที่คาดไว้ หากคุณกำลังทำงานจากคอมพิวเตอร์เครื่องอื่นคุณควรmountใช้การ์ด SD ในระบบไฟล์ก่อนจากนั้นจึงใช้งานไฟล์. rc ในการ์ดที่ติดตั้งนี้ ฉันไม่สามารถเข้าถึงกล่องที่เหมาะสมในขณะนี้เพื่อตรวจสอบคำสั่งที่แน่นอน แต่มันจะดูเหมือน:

mkdir ~/sdcard
sudo mount /dev/sdb ~/sdcard
mv ~/sdcard/boot_enable_ssh.rc ~/sdcard/boot/boot.rc
umount ~/sdcard

/ boot เป็นพาร์ติชัน FAT ดังนั้นเกือบทุก OS จะทำการติดตั้งอัตโนมัติ
scruss

3

ใน raspian หากคำแนะนำข้างต้นไม่ทำงาน (ทั้งหมดแม้ว่า "mv /boot/boot_enable_ssh.rc /boot/boot.rc" ควรทำให้มันทำงานในการบูตครั้งถัดไปและหลังจากนั้น) วิธีที่เป็นคู่มือมากขึ้นคือการทำงาน

sudo raspi-config

และจากนั้นในการกำหนดค่าภายใต้ตัวเลือกขั้นสูง - มีตัวเลือกเริ่มต้น ssh ซึ่งจะเริ่มบริการ


0

สำหรับทุกคนที่ได้รับ RPi ที่มี NOOBS ติดตั้งไว้ใน SD อย่างฉันและพบปัญหานี้:

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


-1

แม้ว่า Rasbian จะใช้ systemd (มอนสเตอร์ไฮดราของโปรแกรมที่ขัดกับปรัชญา Unix ของการทำสิ่งหนึ่งและทำได้ดี) คุณสามารถใช้คำสั่ง "update-rc.d" เพื่อเพิ่ม System-V style ssh daemon init สคริปต์การเริ่มต้นระบบของคุณโดยใช้คำสั่งต่อไปนี้:

sudo update-rc.d ssh เปิดใช้งาน

ชัดเจนเหมือนโคลนไหม


2
ตอนแรกควรจะเป็นสัตว์ประหลาดไฮดรา;)
goldilocks

-1

นี่คือวิธีการติดตั้ง Raspbian ที่ไม่มีหัวใน Pi ของคุณ ดาวน์โหลด Raspbian Image ตรงนี้เพื่อคว้าสำเนาของภาพ Raspbian ... เขียนรูปภาพไปยังการ์ด SD เขียนภาพลงในการ์ด SD ... เพิ่มไฟล์“ SSH” ลงในรูท SD การ์ด ... บูต Pi ของคุณ ... ค้นหาที่อยู่ IP ของ Pi ... SSHเข้าสู่ Pi ของคุณ ... กำหนดค่า Pi ของคุณ


ไม่ถูกต้อง. คุณควรเพิ่มไฟล์เปล่า 'ssh' (ตัวพิมพ์เล็กไม่ใหญ่เท่าที่คุณต้องการจะระบุ) ไปยังไดเรกทอรี / boot (ซึ่งอยู่ในพาร์ติชันแยกต่างหาก)
HarryH
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.