Inhoudsopgave:

Veilige SSH/SCP-verbinding van Raspberry Pi naar cloudserver voor back-ups en updates: 3 stappen
Veilige SSH/SCP-verbinding van Raspberry Pi naar cloudserver voor back-ups en updates: 3 stappen

Video: Veilige SSH/SCP-verbinding van Raspberry Pi naar cloudserver voor back-ups en updates: 3 stappen

Video: Veilige SSH/SCP-verbinding van Raspberry Pi naar cloudserver voor back-ups en updates: 3 stappen
Video: MEGA Chia GPU Farming and Plotting Guide for Linux - Gigahorse Start to Finish - 2023 2024, November
Anonim
Veilige SSH/SCP-verbinding van Raspberry Pi naar cloudserver voor back-ups en updates
Veilige SSH/SCP-verbinding van Raspberry Pi naar cloudserver voor back-ups en updates

Het doel van deze instructable is om u te laten zien hoe u automatisch en veilig verbinding maakt van uw Raspberry Pi met een externe cloudserver (en vice versa) om back-ups en updates uit te voeren, enz. Om dit te doen, gebruikt u SSH-sleutelparen die vermijd de noodzaak om wachtwoorden te onthouden en geef u een veiligere verbinding.

(CAVEAT - Probeer dit niet als u niet bekwaam bent in het configureren van Linux-machtigingen, anders maakt u uw systemen kwetsbaarder voor aanvallen door hackers.)

Vereisten

1. Raspberry Pi met een opdrachtregelinterface (CLI) zoals je zou zien op Putty.

2. Toegang tot een externe cloudserver die wordt gehost door bijvoorbeeld OVH of DigitalOcean, met een CLI.

3. Een Windows-laptop of pc waarop Putty en PuttyGen zijn geïnstalleerd.

Veronderstellingen

1. Je hebt enige kennis van Linux-commando's

2. U kunt toegang krijgen tot uw externe server met behulp van conventionele handmatige processen, b.v. ftp.

3. U heeft PuttyGen voorgeïnstalleerd op uw Windows-pc

Stappen

Samengevat, - Zie figuur 1

a) Maak op uw Windows-pc een privé-PPK-bestand met PuttyGen

b) Maak op uw Windows-pc een openbaar PPK-bestand met PuttyGen (dit wordt automatisch gedaan in stap a)

b) Kopieer op uw Windows-pc de openbare sleutel van uw Windows-pc naar de externe cloudserver

d) Converteer op uw Windows-pc het Private PPK-bestand naar een OpenSSH-sleutel met PuttyGen

e) Kopieer de OpenSSH-sleutel van uw Windows-pc naar de Raspberry Pi

f) Test toegang en bestandsoverdracht van de Raspberry Pi naar uw externe server

Stap 1: A) Maak een privé PPK-bestand, B) Maak een openbare sleutel en C) Kopieer deze naar de externe server

A) Maak een privé PPK-bestand, B) Maak een openbare sleutel en C) Kopieer het naar de externe server
A) Maak een privé PPK-bestand, B) Maak een openbare sleutel en C) Kopieer het naar de externe server
A) Maak een privé PPK-bestand, B) Maak een openbare sleutel en C) Kopieer het naar de externe server
A) Maak een privé PPK-bestand, B) Maak een openbare sleutel en C) Kopieer het naar de externe server

Om een privé PPK-bestand te maken, opent u PuttyGen op uw Windows-pc. U kunt PuttyGen openen door met de rechtermuisknop op het stopverfpictogram op de Windows-taakbalk te klikken. Selecteer in het PuttyGen-menu de sleutel en genereer vervolgens een sleutelpaar, selecteer de optie SSH2-RSA-sleutel. U wordt gevraagd een wachtwoordzin in te stellen wanneer u de privésleutel aanmaakt, en als u een wachtwoordzin instelt, wordt u hier tijdens toekomstige bewerkingen om gevraagd. Bewaar de privésleutel ergens veilig op uw Windows-pc. U ziet dan de openbare sleutel in het venster zoals weergegeven in figuur 2.

Laten we vervolgens de openbare sleutel overdragen naar de externe cloudserver. Open een Putty-sessie naar de externe cloudserver met behulp van Putty. Stel dat u bent ingelogd als remoteuser1 en doe dan het volgende op de externe cloudserver CLI

cd /home/remoteuser1 (indien nog niet aanwezig) mkdir.ssh

nano.ssh/authorized_keys (u ziet een leeg scherm - plak de openbare sleutel die wordt weergegeven in afbeelding 2 en sla dit bestand op en sluit het)

chmod 0700.ssh

chmod 0600 /home/remoteuser1/.ssh/authorized_keys

Stap 2: D) Converteer privé PPK-bestand naar OpenSSH-sleutel en E) kopieer het naar de Raspberry Pi

Om de privésleutel naar OpenSSH te converteren, opent u PuttyGen en opent u vervolgens de privésleutel die u eerder hebt gemaakt - ga naar de optie Conversies in het menu en kies OpenSSH-sleutel exporteren - zorg ervoor dat het bestand dat u aanmaakt het bestandstype.key heeft. Bewaar het ergens veilig en open vervolgens een putty-sessie om in te loggen op uw Raspberry Pi. Kopieer het sleutelbestand naar de homedirectory op de Raspberry Pi van het gebruikersaccount waarmee u inlogde op de Raspberry Pi. Stel dat de sleutel pitobot.key heet en volg dan deze stappen:

cd /home/pi

sudo mv pitobot.key /home/pi/

sudo chmod 600 pitobot.key

Nu ben je klaar om te testen of je installatie succesvol is - Nogmaals, dit wordt gedaan vanaf de Pi. Onthoud dat remoteuser1 het account is op de externe cloudserver in wiens homedirectory u de openbare sleutel hebt opgeslagen, en ipaddress is het ipaddress van de externe cloudserver.

Laten we eerst vanaf de Raspberry Pi inloggen op de externe cloudserver met behulp van Putty. Typ de volgende opdrachten op de Raspberry PI CLI. (Als u een wachtwoordzin hebt ingesteld toen u een privésleutel aanmaakte, wordt u hier nu om gevraagd.)

sudo ssh -i /home/pi/pitobot.key remoteuser1@ipaddress

Hiermee logt u in op de CLI van de externe cloudserver in de thuismap van remoteuser1. Door 'exit; je keert terug naar de CLI van je Raspberry Pi.

Probeer vervolgens bestanden over te zetten van de externe cloudserver naar de Raspberry Pi. Gebruik de volgende opdrachten: (Nogmaals, als u een wachtwoordzin hebt ingesteld toen u een privésleutel maakte, wordt u hier nu om gevraagd.)

sudo scp -i /home/pi/pitobot.key remoteuser1@ipaddress://var/www/html/*.* /home/pi/

Hiermee worden alle bestanden van de map /var/www/html/ op de externe server naar de map /home/pi/ op je Raspberry Pi overgebracht. (De dubbele punt is erg belangrijk) Je kunt natuurlijk de volgorde van de opdrachten wijzigen en bestanden van de Pi naar de externe server overbrengen.

Stap 3: Beveiligingsoverwegingen

Hoewel de SSH-sleutelpaarbenadering de beveiliging verbetert, moet u rekening houden met het volgende:

1. Als SSH-sleutelparen zijn ingeschakeld, kunt u overwegen de mogelijkheid voor gebruikers om rechtstreeks op de externe server in te loggen te verwijderen (u kunt ook toegang krijgen tot uw servers met behulp van de sleutelparen Putty op Windows met hetzelfde sleutelpaar, en u kunt ook overwegen om uit te schakelen log ook in op uw Pi). Wees voorzichtig als je ervoor kiest om dit te doen en neem geen big bang-aanpak. Om dit te doen, moet je een paar configuraties uitschakelen in het ssh-configuratiebestand. Wees hier heel voorzichtig mee. De commando's zijn:

nano /etc/ssh/sshd_config

En breng binnen het bestand de volgende wijzigingen aan:

WachtwoordAuthenticatie nr

GebruikPAM nee

Opslaan, afsluiten en vervolgens SSH opnieuw opstarten door systemctl herstart ssh (Dit is voor Debian. Het kan anders zijn op verschillende Linux-distributies)

2) Houd al uw sleutels veilig, anders riskeert u een datalek of heeft u geen toegang tot uw servers. Ik raad aan ze in een veilige kluis zoals bitwarden.com te bewaren en de toegang ertoe te beperken via uw toegangscontrolebeleid.

3) Het gebruik van een wachtwoordzin verbetert de beveiliging, maar kan de automatisering van cron-taken enz. bemoeilijken. De beslissing om deze en andere functies te gebruiken, moet worden bepaald door een risicobeoordeling, bijvoorbeeld als u persoonlijke gegevens verwerkt, heeft u meer / evenredige controles nodig.

Aanbevolen: