Difference between revisions of "Raspberry Pi SSH Without Logging In"

From TheBeard Science Project Wiki
Jump to: navigation, search
(One intermediate revision by the same user not shown)
Line 22: Line 22:
 
</source>
 
</source>
  
Then mount the primary partition of the SD card and run this in the terminal (assuming the SD card is mounted at <code>/media/user/sdcard</code>):
+
Then mount the primary partition of the SD card and run this in the terminal (assuming the SD card is mounted at <code>/media/user/uuid</code>):
 
<source>
 
<source>
cd /media/user/sdcard/etc/ssh
+
cd /media/user/uuid/etc/ssh
 
sudo rm ssh_host_*
 
sudo rm ssh_host_*
 
</source>
 
</source>
Line 30: Line 30:
 
Now run these commands to set up <code>dpkg-reconfigure</code> to run on startup:
 
Now run these commands to set up <code>dpkg-reconfigure</code> to run on startup:
 
<source>
 
<source>
cd /media/user/sdcard/etc
+
cd /media/user/uuid/etc
 
sudo sed -i 's/exit\ 0/dpkg-reconfigure openssh-server\nexit\ 0/' rc.local
 
sudo sed -i 's/exit\ 0/dpkg-reconfigure openssh-server\nexit\ 0/' rc.local
 
</source>
 
</source>

Revision as of 00:16, 13 June 2019

I'm very annoyed that I can't just throw a Raspbian image onto an SD card and SSH into it without pulling out an HDMI monitor and keyboard. I finally have all the steps necessary to get it done. These steps were done on Raspbian Jessie 2017-07-05.

Image the SD card:

sudo dd if=imagefile.img of=/dev/yourdevice conv=notrunc,noerror ; sync

Now mount the "boot" partition of the SD card (you could just remove the SD card and insert it again).

In the boot partition, create an empty file called ssh (with no file extension).

(Optional WiFi) Create a file in the boot partition called wpa_supplicant.conf and enter this content:

country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="YOUR_SSID"
        psk="YOUR_PASSWORD"
        key_mgmt=WPA-PSK
}

Then mount the primary partition of the SD card and run this in the terminal (assuming the SD card is mounted at /media/user/uuid):

cd /media/user/uuid/etc/ssh
sudo rm ssh_host_*

Now run these commands to set up dpkg-reconfigure to run on startup:

cd /media/user/uuid/etc
sudo sed -i 's/exit\ 0/dpkg-reconfigure openssh-server\nexit\ 0/' rc.local

Remove the SD card and put it into the Raspberry Pi. When you start up the Pi, you should be able to SSH into it immediately after everything runs (and once you figure out what the IP address is).

Remember, it's easy to figure out the IP using:

sudo nmap -sn 192.168.0.0/24 | grep -A1 Raspberry

Once you've logged into the Pi, you can remove the dpkg-reconfigure line in rc.local:

cd /etc
sudo sed -i 's/dpkg.*//' rc.local