nl.phhsnews.com


nl.phhsnews.com / Hoe u op afstand bestanden kunt kopiëren via SSH zonder uw wachtwoord in te voeren

Hoe u op afstand bestanden kunt kopiëren via SSH zonder uw wachtwoord in te voeren


SSH is een redder in nood wanneer u een computer op afstand moet beheren, maar wist u ook dat u ook bestanden kunt uploaden en downloaden? Met behulp van SSH-sleutels kun je overslaan met het invoeren van wachtwoorden en dit gebruiken voor scripts!

Dit proces werkt op Linux en Mac OS, op voorwaarde dat ze correct zijn geconfigureerd voor SSH-toegang. Als u Windows gebruikt, kunt u Cygwin gebruiken om Linux-achtige functionaliteit te krijgen, en met een beetje tweaken, zal ook SSH worden uitgevoerd.

Bestanden kopiëren via SSH

Beveiligd kopiëren is echt een nuttige opdracht en het is echt gemakkelijk te gebruiken. Het basisformaat van de opdracht is als volgt:

scp [opties] original_file destination_file

De grootste kicker is hoe het externe gedeelte moet worden geformatteerd. Wanneer u een extern bestand adresseert, moet u dit op de volgende manier doen:

gebruiker @ server: pad / naar / bestand

De server kan een URL of een IP-adres zijn. Dit wordt gevolgd door een dubbele punt en vervolgens het pad naar het bestand of de map in kwestie. Laten we een voorbeeld bekijken.

scp -P 40050 Desktop / url.txt [email protected]: ~ / Desktop / url.txt

Deze opdracht bevat de vlag [-P] (merk op dat het een hoofdletter P is ). Hierdoor kan ik een poortnummer opgeven in plaats van de standaard 22. Dit is voor mij nodig vanwege de manier waarop ik mijn systeem heb geconfigureerd.

Vervolgens is mijn oorspronkelijke bestand "url.txt" dat zich in een map bevindt "Desktop" genoemd. Het doelbestand bevindt zich in "~ / Desktop / url.txt", hetzelfde als "/user/yatri/Desktop/url.txt". Deze opdracht wordt uitgevoerd door de gebruiker "yatri" op de externe computer "192.168.1.50".

Wat als u het tegenovergestelde moet doen? Je kunt bestanden op dezelfde manier van een externe server kopiëren.

Hier heb ik een bestand van de map "~ / Desktop /" van de externe computer naar de map "Desktop" van de computer gekopieerd.

Om hele mappen te kopiëren, jij ' Ik moet de [-r] vlag gebruiken (merk op dat het om een ​​kleine letter r gaat.)

Je kunt ook vlaggen combineren. In plaats van

scp -P -r ...

Je kunt gewoon

scp -Pr ...

doen. Het moeilijkste onderdeel is dat het voltooien van tabbladen niet altijd werkt, dus het is handig om een ​​andere terminal te hebben met een SSH-sessie wordt uitgevoerd, zodat u weet waar u dingen moet plaatsen.

SSH en SCP zonder wachtwoorden

Beveiligde kopie is geweldig. Je kunt het in scripts plaatsen en back-ups laten maken op externe computers. Het probleem is dat je misschien niet altijd in de buurt bent om het wachtwoord in te voeren. En laten we eerlijk zijn, het is heel vervelend om je wachtwoord in te voeren op een externe computer waar je uiteraard altijd toegang toe hebt.

Welnu, we kunnen het gebruik van wachtwoorden omzeilen door sleutelbestanden te gebruiken. We kunnen ervoor zorgen dat de computer twee belangrijke bestanden genereert - één publiek dat op de externe server hoort, en één privé die zich op uw computer bevindt en beveiligd moet zijn - en deze zullen worden gebruikt in plaats van een wachtwoord. Best handig, toch?

Voer op uw computer de volgende opdracht in:

ssh-keygen -t rsa

Dit genereert de twee sleutels en zet ze in:

~ / .ssh /

met de namen "id_rsa" voor uw privésleutel en "id_rsa.pub" voor uw openbare sleutel.

Na het invoeren van het commando, wordt u gevraagd waar u de sleutel wilt opslaan. U kunt op Enter drukken om de bovengenoemde standaardwaarden te gebruiken.

Vervolgens wordt u gevraagd een wachtwoordzin in te voeren. Druk op Enter om dit veld leeg te laten en doe het opnieuw als het om bevestiging vraagt. De volgende stap is om het bestand met de publieke sleutel naar uw externe computer te kopiëren. U kunt scp gebruiken om dit te doen:

De bestemming voor uw openbare sleutel bevindt zich op de externe server, in het volgende bestand:

~ / .ssh / authorized_keys2

Latere openbare sleutels kunnen aan dit bestand worden toegevoegd, net zoals het bestand ~ / .ssh / known_hosts. Dit betekent dat als u een andere openbare sleutel voor uw account op deze server wilde toevoegen, u de inhoud van het tweede id_rsa.pub-bestand naar een nieuwe regel in het bestaande authorized_keys2-bestand zou kopiëren.

Veiligheidsoverwegingen

Isn ' t dit minder veilig dan een wachtwoord?

In praktische zin, niet echt. De persoonlijke sleutel die wordt gegenereerd, wordt opgeslagen op de computer die u gebruikt en wordt nooit overgedragen, zelfs niet om te worden geverifieerd. Deze privésleutel komt ALLEEN overeen met die ene openbare sleutel en de verbinding moet worden gestart vanaf de computer met de persoonlijke sleutel. RSA is redelijk veilig en gebruikt standaard een bitlengte van 2048.

Het is eigenlijk in theorie vergelijkbaar met het gebruik van je wachtwoord. Als iemand uw wachtwoord kent, gaat uw beveiliging uit het raam. Als iemand uw privésleutelbestand heeft, gaat de beveiliging verloren voor elke computer met de overeenkomende openbare sleutel, maar deze moet toegang hebben tot uw computer om het te krijgen.

Is dit veiliger?

U kunt een wachtwoord combineren met sleutelbestanden. Volg de bovenstaande stappen, maar voer een sterke wachtwoordzin in. Wanneer u nu verbinding maakt via SSH of SCP gebruikt, hebt u het juiste persoonlijke sleutelbestand en de juiste wachtwoordzin nodig.

Nadat u eenmaal uw wachtwoordzin hebt ingevoerd, wordt u niet opnieuw gevraagd ervoor tot je je sessie sluit. Dat betekent dat de eerste keer dat u SSH / SCP gebruikt, u uw wachtwoord moet invoeren, maar voor alle volgende acties is dit niet nodig. Nadat u zich hebt afgemeld bij uw computer (niet bij de externe) of uw terminalvenster hebt gesloten, moet u dit opnieuw invoeren. Op deze manier neemt u niet echt de beveiliging op, maar wordt u ook niet voortdurend lastig gevallen voor wachtwoorden.

Kan ik het openbare / persoonlijke sleutelpaar opnieuw gebruiken?

Dit is een heel slecht idee. Als iemand je wachtwoord vindt en je gebruikt hetzelfde wachtwoord voor al je accounts, dan hebben ze nu toegang tot al die accounts. Evenzo is uw privésleutelbestand ook supergeheim en belangrijk. (Raadpleeg voor meer informatie Hoe repareren nadat uw e-mailwachtwoord is mislukt)

U kunt het beste nieuwe sleutelparen maken voor elke computer en elk account dat u wilt koppelen. Op die manier, als een van uw persoonlijke sleutels op de een of andere manier wordt betrapt, dan haalt u slechts één account op één externe computer.

Het is ook heel belangrijk om op te merken dat al uw privésleutels op dezelfde plaats zijn opgeslagen: in ~ /.ssh/ op uw computer kunt u TrueCrypt gebruiken om een ​​veilige, gecodeerde container te maken en vervolgens symlinks maken in uw map ~ / .ssh /. Afhankelijk van wat ik aan het doen ben, gebruik ik deze superparanoïde superveilige methode om me gerust te stellen.


Heb je SCP in scripts gebruikt? Gebruik je sleutelbestanden in plaats van wachtwoorden? Deel uw eigen expertise met andere lezers in de comments!


Hoe open ik apps van

Hoe open ik apps van "Unidentified Developers" op uw Mac

MacOS heeft een functie genaamd "Gatekeeper" ontworpen om uw Mac te vergrendelen, dwingt hem om standaard alleen door Apple goedgekeurde software uit te voeren . Maar een Mac is op dezelfde manier geblokkeerd als Android is vergrendeld: je kunt nog steeds elke gewenste toepassing uitvoeren. Gatekeeper werkt een beetje anders, afhankelijk van de versie van macOS die je gebruikt.

(how-to)

Hoe u het signaal van uw mobiele telefoon eenvoudig thuis kunt stimuleren

Hoe u het signaal van uw mobiele telefoon eenvoudig thuis kunt stimuleren

Slechte signaalsterkte kan de fout van uw provider zijn, of het kan komen door signaalblokkerende materialen in de muren van uw huis. Wat de oorzaak ook is, u kunt dat signaal versterken en het maximale aantal balken thuis krijgen. Of, beter nog, gebruik gewoon Wi-Fi bellen op een moderne telefoon. Veel mobiele dragers bieden goedkope of misschien zelfs gratis apparaten die u thuis kunt aansluiten om een ​​mobiel signaal uit te breiden.

(how-to)