Als u een of meer externe servers gebruikt, besteedt u doorgaans de hele dag door constant inloggen.
Maar het hoeft niet zo te zijn. Het wordt tijd dat je leert hoe je efficiënt inlogt via SSH met alleen een alias, losse bestanden of mappen, voer SSH-opdrachten op afstand uit en koppel externe servers moeiteloos aan lokale mappen.
SSH-configuratiebestand
Een enorme tijdbesparing is het SSH-configuratiebestand op ~ / .ssh / config. Begin met het maken van een map om alle SSH-sleutels op te slaan die u gebruikt om in te loggen op servers met de opdracht:
mkdir -m 0600 $ HOME / .ssh_keys
Kopieer nu al uw SSH-sleutelbestanden naar deze map (bijv. clienta.pem, clientb.pem, enz.). Open vervolgens het ~ / .ssh / config bestand in een teksteditor door de volgende opdracht uit te voeren:
nano ~ / .ssh / config
Hieronder ziet u een voorbeelditem waarmee u een SSH-verbinding met een externe server:
Wilt u op afstand toegang krijgen tot uw Linux-computer of -server? Hier leest u hoe u SSH instelt en configureert op Linux, Windows en mobiel.
host cliënta
hostnaam 124.58.2276.80
gebruiker ubuntu
IdentityFile ~ / .ssh_keys / clienta.pem
Voeg secties van regels zoals hierboven toe aan het ~ / .ssh / config bestand, één voor elke server die u wenst. Sla het bestand vervolgens op en sluit het door op te drukken Ctrl + X en volg de instructies. Eenmaal opgeslagen, kunt u nu inloggen op elke server via SSH vanuit elke directory binnen de terminal met het eenvoudige commando:
ssh klanta
Dit zal u onmiddellijk inloggen op de server met de informatie onder de cliënta host die u heeft opgegeven in het ~ / .ssh / config het dossier.
Bestanden overzetten met Scp / Rcp
Zonder een permanente inlogsessie te maken, kunt u eenvoudig afzonderlijke bestanden of mappen uploaden naar een externe server met de scp commando, zoals:
scp report.pdf klanta: ~ /
Met de bovenstaande opdracht wordt het report.pdf-bestand van uw lokale computer naar de homedirectory van het cliënta server die u in de bovenstaande sectie hebt gedefinieerd. U kunt uploaden naar een andere map dan de homedirectory, zoals:
scp about.html clienta: / home / clienta / public_html
Het bovenstaande uploadt het bestand about.html naar het /home/client/public_html directory op de afstandsbediening cliënta server. Het is ook mogelijk om volledige mappen te uploaden met de -r optie zoals:
scp -r Documenten clienta: ~ / docs
Hiermee wordt het volledige ~ / Documenten directory van uw lokale computer naar de ~ / docs directory van de externe server.
Bestanden downloaden
Op dezelfde manier kunt u bestanden of mappen naar uw lokale computer downloaden zonder een permanente inlogsessie te creëren met behulp van de rcp commando zoals:
rcp clienta: ~ / public_html / about.html mijnproject / about.html
Het bovenstaande downloadt het public_html / about.html bestand van de afstandsbediening cliënta server en plaats deze in de projects / about.html bestand op uw lokale computer.
Voer externe SSH-opdrachten uit
Een andere snelle tip is dat je single kunt uitvoeren Linux-opdrachten op een externe server zonder een permanente inlogsessie, zoals:
ssh klanten ls
Het bovenstaande voert het ls commando op de remote clienta> server, en maak een lijst van alle bestanden / mappen zonder dat je ingelogd hoeft te blijven op de server. Als u bijvoorbeeld een server opnieuw wilt starten, kunt u het volgende gebruiken:
ssh clienta / sbin / shutdown -rf nu
Lokaal / bin-directory
Laten we dit uitbreiden door eenvoudige koppeling naar externe servers mogelijk te maken door een / bin / directory te maken die lokaal is voor ons gebruikersaccount. Open terminal op uw computer en maak een / bin / directory door de volgende opdracht uit te voeren:
mkdir -m 0755 ~ / bin
Open vervolgens het ~ / .profile bestand in een teksteditor met het commando:
nano $ HOME / .profile
Scrol helemaal naar beneden in het bestand en voeg de volgende regels toe door ze naar uw klembord te kopiëren en vervolgens binnen de terminal door op te drukken Ctrl + Shift + V:
if [-d "$ HOME / bin"]; vervolgens
PATH = "$ HOME / bin: $ PATH"
fi
Sla het bestand op en sluit het door op te drukken Ctrl + Xen volg de instructies. Dit zal het .profiel bestand, dat de nieuw aangemaakte lokale / bin / directory controleert op opdrachten die u probeert uit te voeren.
Remote Mount-opdrachten toevoegen
Controleer eerst of sshfs wordt op uw computer geïnstalleerd met het commando:
sshfs --version
Als dit de huidige versie van sshfs, dan ben je helemaal klaar. Als u de foutmelding "opdracht niet gevonden" ontvangt, kunt u deze installeren sshfs met het volgende commando:
sudo apt-get -y installeer sshfs
Maak nu een / mnt / map aan die alle gekoppelde mappen naar onze externe servers zal bevatten. Voer binnen de terminal de opdrachten uit zoals:
mkdir -m 0755 ~ / mnt
mkdir -m 0755 ~ / mnt / clienta
mkdir -m 0755 ~ / mnt / clientb
Ga door met het maken van een submap voor elke externe server waarop u mogelijk een koppeling tot stand brengt. Laten we vervolgens de shell-opdrachten maken die we zullen uitvoeren, en bijvoorbeeld voor de cliënta server open een bestand door de volgende opdracht in terminal uit te voeren:
nano ~ / bin / mount_clienta
Wijzig de onderstaande regel indien nodig met de juiste serverinformatie, kopieer en plak deze vervolgens in de lege teksteditor in de terminal door op te drukken Ctrl + Shift + V:
#! / bin / bash
sshfs -o IdentityFile = ~ / .ssh_keys / clienta.pem [email protected]: / var / www ~ / mnt / clienta
Sla het bestand op en sluit het door op te drukken Ctrl + Xen volg de instructies om het bestand te sluiten. Wijzig ten slotte de machtigingen van het bestand zodat het uitvoerbaar is door de volgende opdracht uit te voeren:
chmod 0755 ~ / bin / mount_clienta
Nu elk moment dat u nodig heeft om te koppelen aan clienta's externe server om bestanden van / naar te verzenden, vanuit elke map binnen de terminal kunt u eenvoudig de opdracht uitvoeren:
mount_clienta
De map op uw lokale computer op ~ / mnt / clienta wordt nu gekoppeld aan het /var/www directory van de externe server. U kunt beginnen met het kopiëren van bestanden van en naar de directory op dezelfde manier als u zou doen met elke lokale directory, en de nodige bewerkingen zullen plaatsvinden op de externe server.
Efficiënter verbindingsbeheer
Hopelijk hebben de bovenstaande tips geholpen om het beheer van uw verbindingen met externe servers te stroomlijnen en efficiënter te maken. In dit artikel heb je alles geleerd over de ~ / .ssh / config bestand waarmee u kunt inloggen via SSH met alleen een alias, afzonderlijke bestanden / mappen kunt overdragen, externe SSH-opdrachten kunt uitvoeren en hoe u eenvoudig een lokale map kunt koppelen aan externe servers.
Een back-up maken met rsync is een krachtige manier om uw lokale bestanden zelf te beheren. Hier is alles wat u moet weten.
- Linux
- Toegang op afstand
- Linux
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.