Hosting met SSH - waarom is het handig? SSH - toegang, programma-instellingen

SSH is een technologie voor het op afstand uitvoeren van opdrachten en het inloggen op een andere computer via een netwerk. Met SSH kun je bestanden uploaden en kopiëren tussen computers, maar het wordt meestal gebruikt om websitebestanden veilig over te zetten tussen je computer en de server van de hostingprovider.

Secure Shell is de afkorting voor SSH. Dankzij het gebruik van deze technologie wordt een betrouwbare autorisatie en veilige overdracht van informatie via open communicatiekanalen bereikt. SSH vervangt met succes protocollen zoals telnet, rlogin, rcp en rsh. Omdat Het gebruik van deze technologieën gaat gepaard met enkele beveiligingsproblemen:

  1. De gegevensoverdracht via het netwerk gebeurt in het openbaar, zodat elke gebruiker van een computer die op dit netwerk is aangesloten, deze gegevens kan onderscheppen. Het beveiligingsprobleem wordt verergerd door het feit dat wachtwoorden ook in duidelijke (onversleutelde) vorm worden verzonden.
  2. Ook autorisatie met behulp van IP-adressen (rlogin) en wachtwoorden (telnet en FTP) is erg kwetsbaar op het gebied van beveiliging. SSH doet geweldig werk met de hierboven genoemde taken. Zelfs als je bedenkt dat de toegang tot een andere computer wordt uitgevoerd door een wachtwoord in te voeren. Dit wachtwoord kan niet worden onderschept omdat het in gecodeerde vorm wordt verzonden.

Hoe SSH werkt

Om beter te begrijpen hoe SSH werkt, kunnen we een illustratief voorbeeld gebruiken. Om dit te doen, zullen we de analogie gebruiken naar het voorbeeld van de bekende Stirlitz.

Stel dat Stirlitz belangrijke gegevens naar het centrum moet overbrengen, maar het oude cijfer is al bekend bij de vijanden. Wat te doen in deze situatie? De beste optie kan zijn om een ​​vergadering te organiseren om een ​​nieuwe code over te dragen aan Stirlitz (dat wil zeggen, een nieuwe code aan te maken). Als een ontmoeting echter niet mogelijk is, blijft er alleen een open communicatiekanaal over, waar vijanden naar kunnen luisteren. Maar deze situatie kan ook worden opgelost.

Halverwege de jaren zeventig werd het RSA-algoritme ontwikkeld door wiskundigen. Als u het gebruikt, kunt u "openbare sleutels" gebruiken in cryptografie. De essentie van dit algoritme is dat er twee crypto-sleutels zijn: de ene wordt gebruikt voor codering en de tweede wordt gebruikt voor decodering. De "openbare sleutel" is de code voor codering, omdat deze niet geheim is en vrij kan worden overgedragen. In tegenstelling tot coderingssleutels zijn decoderingssleutels geheim (ook wel privé genoemd) en dit betekent dat alleen de eigenaar van deze sleutel het bericht kan decoderen.

De actie van het RSA-algoritme is gebaseerd op de onmogelijkheid om een ​​privésleutel te verkrijgen van de openbare sleutel, die nodig is voor decodering. Daarom, als de actie van de beroemde film "Seventeen Moments of Spring" nu zou plaatsvinden, zou het voor het Centrum voldoende zijn om een ​​nieuwe openbare sleutel naar Stirlitz te sturen, en zou Muller hun berichten niet kunnen ontcijferen, hoeveel hij probeerde.

Wat is de beste SSH-client?

Om Secure Shell-toegang te gebruiken, hoeft u alleen maar een SSH-client te downloaden en vervolgens te installeren. Experts adviseren om de voorkeur te geven aan de populaire en gratis Filezilla-client. Er is ook WinSCP2, omdat het een van de meest efficiënte programma's is die over het SSH2-protocol kunnen draaien. Het programma lijkt visueel op de redelijk bekende FTP-client - CuteFTP, het heeft een goede grafische interface en biedt ook de mogelijkheid om de inhoud van mappen te vergelijken. De derde op deze lijst is het PuTTY-programma (hoe PuTTY in te stellen), dat ook zijn fans heeft, die onze experts het minst leuk vonden.

Om de SSH-client te configureren, volstaat het om uw domeinnaam (of gebruikers-ID), IP-adres, wachtwoord op te geven en het SHH-protocol te selecteren. Andere instellingen kunt u als standaard laten. Nadat de verbinding tot stand is gebracht, stuurt de server een verzoek om een ​​wachtwoord en gebruikersnaam. u moet de gegevens invoeren die vergelijkbaar zijn met wat u gebruikt om FTP-toegang te krijgen (ze worden meestal verzonden door de hostingprovider in de eerste brief na het aanmaken van een account).

Het komt vaak voor dat de hostingprovider SSH-toegang een extra betaalde dienst is. Neem daarom, als u iets niet kunt configureren, contact op met de ondersteuning van de host om de redenen te achterhalen.

In dit artikel gaan we kijken naar moderne en handige manieren om via SSH met een server te werken met VPS vanuit Infobox en de cloud.

We vertellen je niet alleen over de gebruikelijke verbindingsmethode, maar ook over het organiseren van een stabiele verbinding via een onstabiel internet (bijvoorbeeld 3G-modems), evenals extra hulpprogramma's die je helpen met SSH te werken.

Als u een Windows-gebruiker bent en snel en eenvoudig verbinding wilt maken met een Linux-server, gaat u naar de sectie "Putty of hoe u snel verbinding kunt maken met SSH vanuit Windows".

Wat je moet weten om verbinding te maken via SSH

Om verbinding te maken heb je nodig:
  • server IP adres
  • Log in
  • wachtwoord
Waar gegevens vandaan te halen om verbinding te maken met de VPS NG-server vanuit Infobox
Ga na het bestellen van de service naar het configuratiescherm https://panel.infobox.ru.
Selecteer de service "VPS NG" in de rechterbovenhoek van het controlepaneel in de vervolgkeuzelijst.
Ga dan naar het tabblad "VPS".

In deze sectie ziet u: server IP adres en je kunt installeren wachtwoord voor toegang tot de server.


Gebruik je gebruikersnaam om verbinding te maken wortel, IP adres van deze pagina en geïnstalleerd wachtwoord.
Als u uw wachtwoord bent vergeten, klikt u op het item "Toegangsinstellingen bewerken" dat wordt weergegeven in de bovenstaande schermafbeelding.

Waar gegevens vandaan te halen om verbinding te maken met de VPS-server vanuit Infobox
Log in op het configuratiescherm https://panel.infobox.ru.
Selecteer de VPS-service in de rechterbovenhoek van het configuratiescherm in de vervolgkeuzelijst (de naam van de service bevat de naam van het bestelde besturingssysteem en de locatieregio).

Ga dan naar het tabblad "VPS beheren".


Gebruik gebruikersnaam wortel, wachtwoord en ip-adres van de server van deze pagina.

Waar gegevens vandaan te halen om verbinding te maken met de InfoboxCloud-server
Na het aanmaken van de server worden de verbindingsgegevens per e-mail naar u verzonden. Dit is voldoende om aan te sluiten.

Als u uw toegangs-e-mailadres bent kwijtgeraakt en toegang wilt tot de server
Standaard serverbeheerder login: root

Log in op het configuratiescherm op: https://panel.infobox.ru .
Selecteer de service "Cloud Servers" in de rechterbovenhoek van het configuratiescherm in de vervolgkeuzelijst.

Het toegewezen IP-adres voor de server kan worden bekeken op het tabblad "Cloudinfrastructuur" van het configuratiescherm.

Als het veld " Toegewijd IP-adres" leeg, betekent dit dat je bij het aanmaken van de server niet minimaal 1 dedicated ip-adres aan de server hebt toegevoegd (en er dus geen toegang tot de server via internet is, alleen vanaf het lokale netwerk).

Om een ​​dedicated IP-adres toe te voegen, klikt u op de servernaam.

Klik in de groep Netwerkinstellingen op Configureren.


Zorg ervoor dat de bandbreedte (snelheid) van het netwerk voldoende is (of stel meer in indien nodig).
Klik vervolgens op IPv4-adres toevoegen en klik op Wijzigingen opslaan.


De server heeft nu een dedicated IP-adres.


Om het wachtwoord voor toegang tot de server te wijzigen, klikt u op "Wijzigen", zoals weergegeven in de bovenstaande schermafbeelding. Zo kunt u een wachtwoord instellen om toegang te krijgen tot de server.
Nu weet je het server IP adres, Log in ( wortel) en wachtwoord.

SSH-clients instellen

Voor ramen
U hebt een SSH-client nodig om verbinding te maken met de server. Als u snel verbinding moet maken, wordt Putty aanbevolen. Als je met unix-hulpprogramma's zoals scp, rsync en ssh-copy-id moet werken, gebruik dan Cygwin.
Putty of hoe u snel verbinding kunt maken met SSH vanuit Windows
Download het Putty-installatieprogramma voor Windows uit de sectie De nieuwste versieversie en installeer Putty met de standaardinstellingen.


Start Putty (Start -> Alle apps -> PuTTY -> PuTTY).

Voer het IP-adres van de server in. Zorg ervoor dat poort 22 is geselecteerd en het verbindingstype SSH is en klik op "Openen".


U wordt gevraagd of u de server waarmee u verbinding maakt vertrouwt. U moet "Ja" antwoorden.


Het verbindingsvenster wordt geopend. Gebruik root als login en uw serverwachtwoord als wachtwoord. Het wachtwoord kan met de rechtermuisknop van het klembord worden geplakt. Het wordt om veiligheidsredenen niet weergegeven wanneer u typt en plakt.


De verbinding is succesvol tot stand gebracht.

Cygwin- of Unix-omgeving op uw Windows-computer
Als u met Linux-servers werkt, heeft u mogelijk een vergelijkbare omgeving op uw computer nodig. Het is erg handig om een ​​enkele set hulpprogramma's op de server en werkende computer te gebruiken, dus probeer Cygwin zeker. Alleen Linux lijkt op het eerste gezicht ingewikkeld. Als je dit besturingssysteem geleidelijk onder de knie hebt, zul je Cygwin steeds meer nodig hebben. Goed strak.

Onstabiele internetverbinding bij verbinding via SSH - wat te doen?

Vaak wordt bij het werken via een instabiel netwerk (bijvoorbeeld via 3G/4G mobiel internet of verschillende wifi access points) de verbinding met SSH verbroken. Laten we eens kijken wat er op klantniveau kan worden gedaan om te voorkomen dat opnieuw verbinding moet worden gemaakt. Deze tools zijn niet geschikt voor het uitvoeren van kritieke bewerkingen op de server (bijvoorbeeld het upgraden van het besturingssysteem). Om kritieke bewerkingen uit te voeren, moet u bovendien de hulpprogramma's gebruiken die in het volgende gedeelte van het artikel worden beschreven. Het doel van de hulpprogramma's in deze sectie is om SSH gemakkelijker te maken voor de gebruiker.
AutoSSH
AutoSSH start een kopie van de ssh-client en bewaakt de verbinding, indien nodig herstart de ssh-client.

Autossh gebruikt ssh om een ​​lus van ssh-omleidingen te bouwen (verbinding van lokale machine naar externe machine en vice versa) en stuurt testgegevens door, wachtend tot deze terug stuiteren. Het ondersteunt ook het gebruik van een externe echo-service om testgegevens terug te sturen.

AutoSSH ondersteunt slechts 3 opties:

  • -M<порт>[: echo-poort]- gebruikt om een ​​bewakingspoort of een bewakingspoort en een echoservicepoort te specificeren. Als er geen echo-servicepoort is opgegeven, wordt daarvoor het volgende poortnummer gebruikt. Als bijvoorbeeld de vlag -M 20000 is ingesteld, worden testgegevens verzonden op poort 20000 en ontvangen op poort 20001. Als u -M 0 opgeeft, wordt verbindingsbewaking uitgeschakeld en start autossh ssh alleen opnieuw wanneer u ssh afsluit (u kan dit gebruiken met de ServerAliveInterval-opties en ServerAliveCountMax in OpenSSH als monitoring in uw situatie niet kan worden gebruikt);
  • -f- stuurt autossh naar de achtergrond voordat ssh wordt gestart (u kunt in deze modus geen wachtwoord invoeren);
  • -V- geeft de versie van autossh weer.
Alle andere argumenten worden doorgegeven als ssh-opties.

Om te voorkomen dat het wachtwoord opnieuw moet worden ingevoerd wanneer de verbinding is hersteld, moet u deze gebruiker toestaan ​​de server te betreden met een sleutel, zoals weergegeven in het bovenstaande gedeelte.

AutoSSH installeren in Cygwin op Windows
Typ bij gebruik van Cygwin op Windows:
apt-cyg-update
apt-cyg installeer autossh


Nu kunt u verbinding maken met de server:
autossh -M 20000 [e-mail beveiligd] _server adres


Verbinding succesvol tot stand gebracht.

Over het algemeen is autossh een redelijk handige tool voor het werken via onstabiele internetverbindingen en voor het organiseren van ssh-tunnels op de server (we zullen dit scenario in een apart artikel bespreken). Het nadeel van autossh is dat dit hulpprogramma het probleem niet oplost als er aanzienlijke vertragingen zijn op het netwerk bij het invoeren van opdrachten (wat gebeurt op een 3G-netwerk). In dit geval wacht u op een reactie van de server om elk teken in te voeren, wat het werk enigszins vertraagt. Onder normale omstandigheden is autossh echter een grote hulp bij het onderhouden van een ssh-verbinding.

De mogelijkheid om commando's in te voeren zonder te wachten op een reactie van de server is opgelost door Mosh, maar de compatibiliteit van dit hulpprogramma is nog steeds erg beperkt en de betrouwbaarheid is niet hoog, dus het wordt nog niet aanbevolen om het te gebruiken.

Hoe missiekritieke en tijdrovende serverbewerkingen uit te voeren: terminal-multiplexers

Als je het besturingssysteem bijwerkt, software installeert of gewoon een bestand op de server bewerkt, werk dan niet direct nadat je verbinding hebt gemaakt via ssh of autossh. Als de SSH-verbinding wordt verbroken, verliest u de sessie die is gestart bij het verbinden via SSH. Om te voorkomen dat dit gebeurt en wanneer u opnieuw verbinding maakt via SSH, bent u vanaf hetzelfde moment zeker in een lopende bewerking op de server of in een geopend bestandsbewerkingsvenster terechtgekomen, gebruik terminal-multiplexers op de server: GNU Screen of tmux .
GNU-scherm
Het schermprogramma is oorspronkelijk ontworpen om meerdere terminalsessies binnen één terminal uit te voeren. Scherm heeft echter nog een andere handige eigenschap: de mogelijkheid om virtuele sessies los te koppelen van een fysieke terminal en aan een andere te koppelen. Dit stelt u in het bijzonder in staat om langlopende processen op externe machines uit te voeren, zonder dat u er constant op hoeft te zijn ingelogd.

1. Log in op de externe server via SSH.
2. Voer het scherm daar uit
3. U ziet een welkomstbericht, druk op Enter.
4. Nu kunt u alles doen alsof u zojuist via SSH met de server bent verbonden (bijvoorbeeld een lang proces starten).
5. U kunt een sessie verbreken door op CTRL + a en vervolgens op d te drukken. U kunt zelfs de SSH-verbinding met de server beëindigen.
6. Om terug te keren naar de sessie, maak opnieuw verbinding via SSH (of autossh zal dit doen) en typ screen -r
U keert terug naar de lopende sessie en het proces dat u eerder begon, gaat daarin verder. In volgende artikelen zullen we terminal-multiplexers in meer detail bespreken.

Conclusie

In dit artikel hebben we geprobeerd de basis te behandelen die nodig is voor handig werken via SSH vanuit verschillende besturingssystemen. Dit is natuurlijk niet alles wat mogelijk is, maar wel een goede basis om mee te beginnen. Als je een fout in het artikel vindt, denkt dat er iets belangrijks moet worden toegevoegd, of je hebt gewoon een vraag -

Dit document helpt u verbinding te maken met uw virtuele server via SSH- en SFTP-protocollen.

SSH (Eng. Secure SHell - "secure shell") is een netwerkprotocol op sessieniveau waarmee u het besturingssysteem op afstand kunt bedienen en TCP-verbindingen kunt tunnelen (bijvoorbeeld om bestanden over te dragen). Qua functionaliteit vergelijkbaar met de Telnet- en rlogin-protocollen, maar in tegenstelling tot deze, versleutelt het al het verkeer, inclusief verzonden wachtwoorden.

SFTP (SSH File Transfer Protocol) is een protocol op toepassingsniveau dat is ontworpen voor het kopiëren en uitvoeren van andere bewerkingen met bestanden via een betrouwbare en veilige verbinding. Er is een misvatting dat SFTP gewoon gewone FTP is die over SSH draait. In feite is SFTP een nieuw protocol dat van de grond af is ontworpen.

Gegevens om verbinding te maken met de virtuele server

U kunt alle gegevens krijgen die nodig zijn om via SSH verbinding te maken met uw virtuele server op de hoofdpagina van het configuratiescherm.

We moeten het IP-adres van de virtuele server (1) en het wachtwoord voor de rootgebruiker (2) weten.

Nadat u de benodigde gegevens voor verbinding hebt ontvangen, kunt u direct doorgaan naar het proces.

Verbinding maken met een virtuele server via SSH vanuit Mac OS X of Linux

Gebruikers van Mac OS X- of Linux-besturingssystemen kunnen de standaard terminaltoepassing gebruiken om via het SSH-protocol verbinding te maken met een virtuele server. Gebruik de volgende opdracht om verbinding te maken met uw virtuele server (verander 188.127.236.62 in het IP-adres van uw virtuele server):

ssh [e-mail beveiligd]

Zo ziet het proces van verbinding maken met een virtuele server in een Unix- of Mac OS X-terminal eruit:

ssh [e-mail beveiligd] De authenticiteit van host "188.127.236.62 (188.127.236.62)" kan niet worden vastgesteld. De vingerafdruk van de RSA-sleutel is 4f:e8:84:42:51:80:48:70:45:6c:69:47:79: e7:c0:56 Weet u zeker dat u door wilt gaan met verbinden (ja/nee) ja Waarschuwing: "188.127.236.62" (RSA) permanent toegevoegd aan de lijst met bekende hosts. [e-mail beveiligd]"s wachtwoord: #

Verbinding maken met een virtuele server via SSH vanuit Windows

Gebruikers van het Windows-besturingssysteem kunnen het PuTTY-programma gebruiken om via het SSH-protocol verbinding te maken met de virtuele server. PuTTY is een zeer populaire gratis telnet/ssh-client.

Officiële site van het programma - http://www.chiark.greenend.org.uk/~sgtatham/putty/ Ondersteuningssite in het Russisch - http://putty.org.ru/

Na het starten van het programma ziet u het volgende venster:

Voer het IP-adres van uw virtuele server in het veld "Hostnaam (of IP-adres)" in (voer bijvoorbeeld helios.asu in). Zorg ervoor dat het keuzerondje "SSH" is geselecteerd in het item "Protocol".

Om niet telkens het adres en het protocoltype in te voeren, kunt u de sessie ook opslaan. Om dit te doen, voert u de naam in het veld "Opgeslagen sessies" in en klikt u op de knop "Opslaan".

Daarna verschijnt uw sessie hieronder in de lijst. Om een ​​opgeslagen sessie te laden, selecteert u deze in de lijst en klikt u op de knop "Laden".

Om verbinding te maken, klikt u op de knop "Openen" onderaan het formulier. Het volgende bericht kan verschijnen:

Als u zeker weet dat u verbinding maakt met de juiste host, klikt u op de knop "Ja". Het volgende zal verschijnen:

Voer uw login (root) in en vervolgens uw wachtwoord. Hier is de systeemconsole:

Voer in om af te sluiten:

Verbinding maken met een virtuele server via SFTP

Standaard hoef je FileZilla niet te configureren, we gaan gelijk met het programma aan de slag.

Om verbinding te maken met de SFTP-server, voert u het IP-adres van uw virtuele server in het veld voor snelle verbinding in (in plaats van example.com, zoals weergegeven in de onderstaande afbeelding, voert u sftp://ip_address_of_your_vps in). Voer de verbindingspoort in het overeenkomstige veld in, voor SFTP - 22. Voer de gebruikersnaam en het wachtwoord in de overeenkomstige velden in. Klik op de knop "Snel verbinden" of druk op Enter om verbinding te maken.

Merk op dat het snelverbindingspaneel, zoals de naam al aangeeft, is aangepast voor snelle verbindingen, d.w.z. u hebt niet de mogelijkheid om de lijst van de laatste 10 verbindingen te bewerken. Gebruik de Site Manager om uw verbindingsinstellingen op te slaan.

Gebruik de FileZilla Site Manager om specifieke siteparameters in te stellen en verbinding te maken met de gewenste SFTP-server. In Site Manager hebt u de mogelijkheid om uw verbindingen op te slaan en meer instellingen te configureren dan beschikbaar zijn in het Quick Connect-paneel.

Na het verbinden wordt een lijst met bestanden en mappen weergegeven aan de rechterkant van het hoofdvenster. De huidige directory wordt weergegeven in het bewerkingsveld bovenaan. Hieronder staat de externe directorystructuur en daaronder de inhoud van de huidige externe directory. Er zijn drie verschillende manieren om naar een andere directory te gaan. Ten eerste: dubbelklik op de map in de lijst. Ten tweede: klik op de mappen in de boom. De laatste manier: voer de directorynaam in het bewerkingsveld in en druk op Enter. Besteed aandacht aan de ".." map die aanwezig is in bijna alle andere mappen. Met deze link kunt u naar de bovenliggende map van de huidige map navigeren.

Navigatie op uw computer werkt vrijwel hetzelfde als op de server. De huidige lokale directory en directorystructuur worden standaard aan de linkerkant van het hoofdvenster weergegeven.

Gedetailleerde documentatie over het werken met FileZilla is te vinden op de officiële website op http://filezilla.ru/documentation/Using

Gebruiksvoorwaarden van het document

Het materiaal dat op deze pagina wordt gepresenteerd, kan naar eigen inzicht door u worden gebruikt. Toestemming wordt verleend om het verstrekte materiaal te kopiëren en te verspreiden zonder de inhoud te wijzigen en zonder voorafgaande kennisgeving aan de administratie van Clodo.ru.

We stellen het op prijs als u fouten meldt in de ingediende documentatie en suggesties doet om de documentatie te verbeteren. Neem voor deze vragen contact op met [e-mail beveiligd]. Vergeet bij contact niet de URL van de publicatie te vermelden.

SSH - (Secure Shell) is een protocol voor afstandsbediening van een computer met een Linux-besturingssysteem. Kortom, ssh wordt gebruikt om servers op afstand te bedienen via de terminal. Ben je beheerder van meerdere servers of zelfs een gevorderde webmaster, dan kom je waarschijnlijk vaak de behoefte tegen om via ssh met een bepaalde computer te werken. In Linux wordt dit gedaan met behulp van een ssh-server op de machine waarmee u verbinding wilt maken en de client op degene van waaruit u verbinding maakt.

In deze tutorial zullen we kijken naar het gebruik van ssh, evenals de functies die je niet eens kende. Hoogstwaarschijnlijk weet je al hoe je verbinding moet maken met een server via ssh, maar dit hulpprogramma heeft veel meer functies, zoals het ssh-bestanden overbrengen, verbinding maken zonder wachtwoord of een script uitvoeren op een externe server. Dit alles zullen we verder in het artikel bespreken.

Maar laten we beginnen bij de basis.

De opdrachtsyntaxis is als volgt:

$ ssh [opties] gebruikersnaam@server [opdracht]

Het is belangrijk op te merken dat ssh met twee versies van het protocol kan werken. Versie 1 en 2. Het is duidelijk dat versie 2 beter is en meer soorten encryptie en authenticatie ondersteunt. We zullen in dit artikel niet meer praten over protocolverschillen en ik ga ervan uit dat je versie 2 gebruikt.

Opties voor SSH-opdrachten

Laten we nu eens kijken naar de meest elementaire opties van het ssh-commando:

  • f- zet ssh op de achtergrond
  • g- sta externe machines toe om toegang te krijgen tot lokale poorten
  • ik- gebruikersnaam in het systeem
  • n- stdout omleiden naar /dev/null
  • p- ssh-poort op de externe machine
  • q- geen foutmeldingen weergeven
  • v- foutopsporingsmodus
  • x- X11-omleiding uitschakelen
  • X- X11-omleiding inschakelen
  • C- compressie inschakelen

Dit zijn niet alle hulpprogramma-opties, de rest valt buiten het bestek van dit artikel. Veel instellingen voor ssh-bewerkingen kunnen worden gewijzigd via het ~/.ssh/config-configuratiebestand, maar we zullen hier ook niet in detail op ingaan.

SSH-server instellen

De SSH-serverinstellingen bevinden zich in het bestand /etc/ssh/sshd_config. We zullen er ook niet veel aanraken. Overweeg alleen de meest interessante. Open eerst het bestand /etc/ssh/sshd.conf

ssh-poort

Standaard draait ssh op poort 22. Maar dit gedrag is onveilig, omdat een aanvaller deze poort kent en kan proberen een Bruteforce-aanval uit te voeren om het wachtwoord brute force te forceren. De poort wordt gespecificeerd door de regel:

Wijzig de poortwaarde in wat u maar wilt.

SSH-protocol

Standaard kan de ssh-server op twee versies van het protocol draaien voor compatibiliteit. Als u alleen protocolversie twee wilt gebruiken, verwijdert u het commentaar van de regel:

En laat het er zo uitzien:

Root-toegang

Standaard is root-toegang via ssh toegestaan, maar dit gedrag is erg onveilig, dus verwijder commentaar op de regel:

PermitRootLogin nr

Alleen specifieke gebruikerstoegang tot SSH

We kunnen alleen ssh-toegang toestaan ​​voor een specifieke gebruiker of groep. Voeg hiervoor de regels toe:

Sta gebruikers toe Gebruiker1, Gebruiker2, Gebruiker3
ToestaanGroepen Groep1, Groep2, Groep3

Hier zijn Gebruiker1 en Groep1 de gebruiker en groep waartoe u toegang wilt verlenen.

X11-toepassingen uitvoeren

Niet iedereen weet het, maar het is mogelijk om ssh te gebruiken om volwaardige X11-applicaties te draaien. We zullen hier hieronder over praten, maar om alles te laten werken, moet je deze functie aan de serverzijde inschakelen, voeg deze regel toe:

X11Doorsturen ja

De belangrijkste opties zijn behandeld, vergeet voordat u verder gaat niet de ssh-server opnieuw op te starten om de wijzigingen op te slaan:

service sshd opnieuw opstarten

SSH gebruiken

Het belangrijkste doel van dit artikel is om interessante en nuttige manieren te laten zien om ssh te gebruiken waarvan je misschien nog niet wist. Laten we verder gaan met het lekkerste - de mogelijkheden van ssh.

Serververbinding

Gebruik de volgende opdracht om eenvoudig verbinding te maken met de server via SSH:

Opdracht uitvoeren

We zijn gewend om verbinding te maken met een externe server en pas daarna de noodzakelijke opdrachten uit te voeren, maar in feite stelt het ssh-hulpprogramma u in staat om de gewenste opdracht onmiddellijk uit te voeren zonder de terminal van de externe machine te openen. Bijvoorbeeld:

ssh [e-mail beveiligd] ls

Voer de opdracht ls uit op de externe server en stuur de uitvoer terug naar de huidige terminal.

Lokaal script uitvoeren

Laten we een bash-interpreter uitvoeren op de externe server en ons lokale script eraan doorgeven met behulp van Bash-invoeromleiding:

ssh [e-mail beveiligd]"bash -s"< script.sh

Back-up naar een externe server en herstel

We kunnen een schijfback-up rechtstreeks op een externe server opslaan met behulp van ssh. Leid de uitvoer van dd om met de omleidingsoperator | en sla deze vervolgens op in een bestand aan de andere kant:

sudo dd if=/dev/sda | ssh [e-mail beveiligd]"dd van=sda.img"

Om de status van de schijf vanaf de back-up te herstellen, voert u het volgende uit:

ssh [e-mail beveiligd]"dd if=sda.img" | ddof=/dev/sda

Hier en boven /dev/sda is de bestandsnaam van uw harde schijf.

Wachtwoordloze authenticatie

Het gebruik van een ssh-wachtwoord om in te loggen op de server is niet alleen onhandig, maar ook onveilig, omdat dit wachtwoord op elk moment kan worden geraden. De veiligste en meest gebruikte authenticatiemethode is met een RSA-sleutelpaar. De privésleutel wordt op de computer opgeslagen, terwijl de openbare sleutel op de server wordt gebruikt om de gebruiker te authenticeren.

Het is heel eenvoudig om dit gedrag in te stellen. Maak eerst een sleutel met het commando:

ssh-keygen -t rsa

Tijdens het maken van de sleutel moet u een paar vragen beantwoorden, de locatie standaard verlaten, als u verbinding wilt maken zonder wachtwoord - laat ook het veld Passphare leeg.

Vervolgens sturen we de sleutel naar de server:

ssh-copy-id -i ~/.ssh/id_rsa.pub [e-mail beveiligd]

Wachtwoord ophalen uit lokaal bestand

Laat me je eraan herinneren dat het opslaan van wachtwoorden in gewone tekstbestanden niet veilig is, maar als je wilt, ja - het is mogelijk. Gebruik hiervoor de Bash-invoeromleidingsoperator:

ssh [e-mail beveiligd] < local_file.txt

SSH-begroeting wijzigen

Wanneer je inlogt via ssh kan er een begroeting getoond worden, deze is heel eenvoudig te wijzigen. Het bestand /etc/issue is hiervoor verantwoordelijk. Open dit bestand en voer de gewenste tekst in:

Bekijk mislukte SSH-inlogpogingen

Wil je zien of er mislukte pogingen zijn geweest om via ssh toegang tot je server te krijgen en vanaf welke IP-adressen? Alle verzoeken worden eenvoudig gelogd in het /var/log/secure-bestand, we filteren alleen de benodigde gegevens met het commando:

cat /var/log/secure | grep "Wachtwoord mislukt voor"

Bestanden overzetten via SSH

Naast het uitvoeren van opdrachten, kunt u bestanden kopiëren via ssh. Hiervoor wordt het scp-hulpprogramma gebruikt. Specificeer gewoon het bestand dat u wilt overbrengen, de externe server en de map op de server, als volgt:

$ scp /adres/lokaal/bestand gebruiker@host:adres/mappen

Bijvoorbeeld:

scp ~/test.txt [e-mail beveiligd]:documenten

Naast het scp-hulpprogramma kunnen ssh-bestandsoverdrachten op een lastigere manier worden gedaan. We lezen het bestand en met behulp van cat zetten we het over, en daar slaan we de stream op in een bestand:

cat localfile | ssh [e-mail beveiligd] cat > bestand op afstand

ssh [e-mail beveiligd] cat > bestand op afstand< localfile

tar czf - /home/gebruiker/bestand | ssh [e-mail beveiligd] tar -xvzf -C /home/externe gebruiker/

Door bestanden zoals deze ssh te kopiëren, kun je hele mappen tegelijk verzenden.

Grafische toepassingen uitvoeren via ssh

Als je een bepaalde grafische applicatie op een externe machine moet draaien, is het niet nodig om hiervoor VNC te gebruiken, je kunt rondkomen met de mogelijkheden van ssh. Het programma wordt uitgevoerd aan de serverzijde en u krijgt alleen een venster te zien, zodat u kunt doen wat u maar wilt. En alle gegevens zijn versleuteld. Om deze functie te laten werken, moet deze aan de serverzijde zijn ingeschakeld.

Vervolgens voeren we eenvoudig de opdracht uit om een ​​grafische toepassing op een externe server te starten, zoals deze:

ssh -XC [e-mail beveiligd]"verduistering"

Zoals je hebt gezien, maakt de X-optie client-side X11-omleiding mogelijk en de C-optie datacompressie.

Een ssh-sessie beëindigen

Als je ssh hebt gebruikt met een onstabiel internet, wanneer de verbinding van tijd tot tijd wordt verbroken, dan ben je waarschijnlijk al moe van het sluiten van de terminal, omdat de sessie anders op het eerste gezicht niet kan worden beëindigd. Wanneer de verbinding met de externe server is verbroken, kunt u geen commando invoeren en werken de sneltoetsen Ctrl+C, Ctrl+Z, Ctrl+D niet. En zal niet werken omdat de client deze opdrachten naar de server probeert te verzenden. Maar er is een oplossing - Escape-reeksen. Voeg de regel toe om hun ondersteuning in te schakelen:

Naar het bestand /etc/ssh/ssh_config

We presenteren onder uw aandacht een nieuwe cursus van het team de codeby- "Penetratietests van webapplicaties vanaf het begin". Algemene theorie, voorbereiding van de werkomgeving, passief fuzzen en vingerafdrukken, actief fuzzen, kwetsbaarheden, postexploitatie, tools, social engineering en meer.


Wat is SSH en waar dient het voor?

Secure Shell (SSH) is een netwerkprotocol dat shell-functionaliteit biedt aan een externe machine via een beveiligd kanaal. SSH brengt verschillende beveiligingsverbeteringen, waaronder gebruikers-/hostauthenticatie, gegevenscodering en gegevensintegriteit, waardoor populaire aanvallen zoals afluisteren, DNS/IP-spoofing, gegevensvervalsing en het kapen van verbindingen onmogelijk worden, enz. Gebruikers van ftp, telnet of rlogin die een protocol dat gegevens in leesbare tekst overdraagt, wordt ten zeerste aanbevolen om over te schakelen naar SSH.

OpenSSH is een open source-implementatie van het SSH-protocol waarmee een netwerkverbinding kan worden versleuteld met behulp van een reeks programma's. Als je SSH op Linux wilt hebben, kun je OpenSSH installeren, dat bestaat uit een OpenSSH-server en clientpakketten.

De OpenSSH-server/client-pakketten worden geleverd met de volgende hulpprogramma's:

  • OpenSSH-server: sshd (SSH-daemon)
  • OpenSSH-client: scp (beveiligd kopiëren op afstand), sftp (beveiligde bestandsoverdracht), slogin/ssh (beveiligd inloggen op afstand), ssh-add (toevoeging van privésleutel), ssh-agent (authenticatieagent), ssh-keygen (beheer van authenticatiesleutel ).

Een OpenSSH-server en -client installeren op Linux

Als u een OpenSSH-server/client wilt installeren en de OpenSSH-server automatisch wilt laten starten, volgt u de onderstaande instructies, die per distributie verschillen.

Debian, Ubuntu of Linux Mint

$ sudo apt-get install openssh-server openssh-client

Op op Debian gebaseerde systemen zal OpenSSH direct na installatie automatisch starten bij het opstarten. Als om de een of andere reden de OpenSSH-server niet automatisch start bij het opstarten van het systeem, kunt u de volgende opdracht uitvoeren om expliciet ssh toe te voegen aan het opstarten bij het opstarten van het systeem.

$ sudo update-rc.d ssh standaardwaarden

Fedora of CentOS/RHEL 7

$ sudo yum -y installeer openssh-server openssh-clients $ sudo systemctl start sshd-service $ sudo systemctl activeer sshd.service

CentOS/RHEL6

$ sudo yum -y installeer openssh-server openssh-clients $ sudo service sshd start $ sudo chkconfig sshd op

Arch Linux

$ sudo pacman -Sy opentssh $ sudo systemctl start sshd-service $ sudo systemctl activeer sshd.service

Een OpenSSH-server instellen

Als u een OpenSSH-server wilt opzetten, kunt u het systeembrede configuratiebestand in /etc/ssh/sshd_config bewerken.

Er zijn een aantal OpenSSH-opties waarin u mogelijk geïnteresseerd bent:

Standaard luistert sshd op poort 22 en luistert naar inkomende ssh-verbindingen. Door de standaardpoort voor ssh te wijzigen, kunt u verschillende geautomatiseerde aanvallen door hackers voorkomen.

Luisteradres 192.168.1.1

Als uw machine meer dan één fysieke netwerkinterface heeft, wilt u misschien controleren welke is gekoppeld aan sshd, waarvoor u de optie ListenAddress kunt gebruiken. Deze optie helpt de beveiliging te verbeteren door binnenkomende SSH te beperken tot alleen een specifieke interface.

HostKey /etc/ssh/ssh_host_key

De HostKey-optie bepaalt waar de persoonlijke hostsleutel wordt geplaatst.

PermitRootLogin nr

PermitRootLogin optie - of root kan inloggen via ssh.

Sta gebruikers toe alice bob

Met behulp van de optie AllowUsers kunt u de ssh-service selectief uitschakelen voor specifieke Linux-gebruikers. U kunt meerdere gebruikers specificeren door ze te scheiden met spaties.

Nadat /etc/ssh/sshd_config is gewijzigd, moet u de ssh-service opnieuw opstarten.

Om OpenSSH te herstarten op Debian, Ubuntu of Linux Mint:

$ sudo /etc/init.d/ssh herstart

Om OpenSSH te herstarten op Fedora, CentOS/RHEL 7 of Arch Linux:

$ sudo systemctl herstart sshd.service

Om OpenSSH op CentOS/RHEL 6 opnieuw te starten:

$ sudo-service sshd opnieuw opstarten

Hoe verbinding te maken met SSH

Verbinding maken met SSH vanuit Linux

Linux-gebruikers hoeven geen extra software te installeren.

Verbinding maken met SSH vanuit Windows

Voor Windows bevelen velen PuTTY aan en gebruiken ze met succes. Ik heb niets tegen dit programma, maar ik geef zelf de voorkeur aan en raad Cygwin aan.

Cygwin is niet zomaar een SSH-client. Het is een krachtige combinatie die veel Linux-commando's ondersteunt. Het is bijvoorbeeld heel eenvoudig om SSL-certificaten aan te maken in Cygwin (net als in Linux). In Windows vereist het maken van zelfondertekende certificaten dansen met een tamboerijn. Cygwin is erg handig in het gebruik van cURL (het is niet nodig om iets apart te installeren), enz. Degenen die de opdrachtregel en Linux-programma's op Windows niet hebben, zullen een uitlaatklep vinden in Cygwin.

Het installeren van Cygwin is eenvoudig. Ga naar de officiële website en download de 32-bits of 64-bits versie.

Er wordt een klein bestand gedownload - dit is het installatieprogramma. Grafisch installatieprogramma. Hoewel het een groot aantal opties bevat, zijn ze allemaal vrij eenvoudig en velen zijn bekend van andere grafische installatieprogramma's. Als iets niet duidelijk is, klik dan gewoon op "Volgende". Misschien kan alleen het volgende venster verwarrend zijn:

Hier zijn alle items die beschikbaar zijn voor installatie. We hoeven ze nu niet te behandelen. Omdat de meest gevraagde al zijn gemarkeerd voor installatie. En mocht er in de toekomst iets ontbreken, dan kun je eenvoudig installeren wat je nodig hebt.

SSH-verbinding (gebruikelijk voor Linux en Windows)

Linux-gebruikers openen de console, Windows-gebruikers typen Cygwin in.

SSH heeft de volgende informatie nodig om verbinding te maken:

  • IP of hostnaam
  • poortnummer
  • gebruikersnaam
  • gebruikerswachtwoord

Twee van deze opties kan SSH aannemen: gebruikersnaam en poortnummer. Als er geen poort is opgegeven, wordt uitgegaan van de standaardpoort. Als er geen gebruiker is opgegeven, wordt dezelfde naam gebruikt als op het systeem van waaruit de verbinding wordt gemaakt. Het hostadres voor verbinding is bijvoorbeeld 192.168.1.36. Als ik bel

ssh 192.168.1.36

ik zie het volgende

[e-mail beveiligd]~ $ ssh 192.168.1.36 De authenticiteit van host "192.168.1.36 (192.168.1.36)" kan niet worden vastgesteld. De vingerafdruk van de ECDSA-sleutel is SHA256:sIxZeSuiivoEQ00RXAQHxylxuEA8SC5r/YPhL8wfp8s. Weet u zeker dat u door wilt gaan met verbinden (ja/nee)?

Aangezien ik voor het eerst verbinding maak met de host, is dit een onbekende host. Ze vragen me of ik verder wil. ik ben aan het bellen ja:

Waarschuwing: "192.168.1.36" (ECDSA) permanent toegevoegd aan de lijst met bekende hosts. [e-mail beveiligd]"wachtwoord:

Oké, host 192.168.1.36 is toegevoegd aan de lijst met bekende hosts. Ik word gevraagd om een ​​wachtwoord voor gebruiker Alex. Aangezien er geen dergelijke gebruiker op de server met SSH is, maar ik push ctrl+c(om te breken) en voer de opdracht in samen met de gebruikersnaam van het externe systeem. De gebruiker wordt ingevoerd vóór het adres van de externe machine en wordt van het adres gescheiden door het @-teken. Het @-teken in het Engels wordt gelezen als at en kan worden vertaald als "in". Die. Vermelding [e-mail beveiligd] kan worden geïnterpreteerd als "mial-gebruiker in machine 192.168.1.36".

ssh [e-mail beveiligd]

Uitnodiging [e-mail beveiligd] werd vervangen door een uitnodiging [e-mail beveiligd] Dit betekent dat we ons al op een externe machine bevinden, d.w.z. dat we al verbinding hebben gemaakt. Als u een poort moet specificeren (als deze afwijkt van de standaard), dan moet de poort worden opgegeven na de -p switch. Bijvoorbeeld als volgt:

ssh [e-mail beveiligd]-p 10456

Nadat we verbinding hebben gemaakt, worden we begroet met zoiets als deze begroeting:

Linux mint 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 De programma's die bij het Debian GNU/Linux-systeem worden geleverd, zijn gratis software; de exacte distributievoorwaarden voor elk programma worden beschreven in de individuele bestanden in /usr/share/doc/*/copyright. Debian GNU/Linux wordt geleverd met ABSOLUUT GEEN GARANTIE, voor zover toegestaan ​​door de toepasselijke wetgeving. Laatste login: di 16 juni 15:32:25 2015 van 192.168.1.35

Hieruit volgt dat de externe machine Linux Mint is, met kernel 3.16, 64-bits versie. Ook belangrijke informatie over het tijdstip van de laatste login en het IP-adres van waaruit de verbinding tot stand kwam. Als de tijd en het IP-adres voor u onbekend zijn en u de enige gebruiker bent, is uw systeem in gevaar en moet u passende maatregelen nemen.

Laten we een paar commando's typen om er zeker van te zijn waar we zijn en wie we zijn: pwd, uname-a enzovoort.:

Om een ​​sessie te beëindigen (verbreken), kies

Of klik op Ctrl+D.

Log in op SSH zonder een wachtwoord in te voeren

Ten eerste is het gewoon handiger. Ten tweede is het veiliger.

Eerst moeten we rsa-sleutels maken. Als je een Linux-gebruiker bent, zit je goed. Als je een Windows-gebruiker bent, maar je hebt niet naar mijn advies geluisterd en voor PuTTY gekozen, dan heb je een probleem en bedenk je zelf hoe je het kunt oplossen. Als je Cygwin hebt, dan is ook alles in orde.

Als het je gelukt is om in te loggen op het externe systeem, log dan uit. Typ vervolgens

ssh-keygen -t rsa

Er wordt gevraagd naar de naam van het bestand, we hoeven niets in te vullen, de standaardnaam wordt gebruikt. Hij vraagt ​​ook om een ​​wachtwoord. Ik voer geen wachtwoord in.

Nu moeten we een .ssh-map maken op de externe computer. Over de uitvoering van de opdracht op een externe machine zal hieronder worden besproken. Kopieer nu gewoon de opdracht en vergeet niet om het IP-adres en de gebruikersnaam in die van jezelf te veranderen:

ssh [e-mail beveiligd] mkdir.ssh

Nu moeten we de inhoud van het bestand id_rsa.pub naar de externe computer kopiëren. Het is heel eenvoudig om dit te doen (vergeet niet om de gegevens naar uw eigen gegevens te wijzigen):

cat.ssh/id_rsa.pub | ssh [e-mail beveiligd]"kat >> .ssh/authorized_keys"

Nu loggen we gewoon in en vragen we niet meer om een ​​wachtwoord. En zo zal het altijd zijn.

Opdrachten uitvoeren op een externe server zonder een shellsessie te maken

Naast het openen van een shell-sessie op een systeem op afstand, stelt ssh je ook in staat om individuele commando's uit te voeren op een systeem op afstand. Als u bijvoorbeeld de opdracht tree op een externe host met de naam remote-sys wilt uitvoeren en de resultaten op het lokale systeem wilt weergeven, doet u dit:

ssh remote-sys boom

Mijn echte voorbeeld:

ssh [e-mail beveiligd] boom

Met deze techniek kun je interessante dingen doen, zoals het uitvoeren van een ls-opdracht op het externe systeem en het omleiden van de uitvoer naar een bestand op het lokale systeem:

ssh remote-sys "ls *" > dirlist.txt

Echt voorbeeld:

ssh [e-mail beveiligd]"ls *" > dirlist.txt kat dirlist.txt

Let op de enkele aanhalingstekens in de bovenstaande opdracht. Dit is omdat we niet willen dat paduitbreiding op de lokale machine wordt gedaan; omdat we deze uitvoering op een extern systeem nodig hebben. Als we de standaarduitvoer naar een bestand op de externe computer willen omleiden, kunnen we de omleidingsverklaring en de bestandsnaam ook tussen enkele aanhalingstekens plaatsen:

ssh remote-sys "ls * > dirlist.txt"

Stdout verzenden van lokale machine naar externe machine via ssh

Een even interessante optie voor het uitvoeren van commando's wordt iets hoger gegeven:

cat.ssh/id_rsa.pub | ssh [e-mail beveiligd]"kat >> .ssh/authorized_keys"

  • Het cat-commando leest regel voor regel en toont de inhoud van het .ssh/id_rsa.pub-bestand dat zich op de lokale computer bevindt.
  • | (pipe) pijpt wat op de standaarduitvoer moet verschijnen naar een ander commando.
  • In plaats van een commando dat de regels zou moeten verwerken die eraan zijn doorgegeven, wordt een verbinding gemaakt met het externe systeem (ssh [e-mail beveiligd]).
  • Het systeem op afstand ontvangt strings waarvoor de opdracht cat >> .ssh/authorized_keys is opgegeven. Die. de inhoud van de standaarduitvoer wordt regel voor regel naar het bestand .ssh/authorized_keys op de externe computer geschreven.

Een grafisch programma openen dat zich op een externe computer bevindt

Voor de volgende truc heb je twee Linux-computers nodig. Helaas kan zelfs Cygwin deze truc niet aan. Bovendien moeten zowel Linux' als een grafische gebruikersinterface zijn.

Tunnelen met SSH

Wat er onder andere gebeurt wanneer een verbinding tot stand wordt gebracht met een externe host via SSH, is het creëren van een versleutelde tunnel die wordt gevormd tussen de lokale en externe systemen. Meestal wordt deze tunnel gebruikt om ervoor te zorgen dat opdrachten die op de lokale computer worden getypt, veilig worden verzonden naar de externe computer en dat het resultaat ook veilig wordt teruggestuurd.

Naast deze basisfunctie maakt het SSH-protocol het mogelijk om de meeste soorten verkeer over een versleutelde tunnel te sturen, waardoor een soort VPN (virtual private network) ontstaat tussen de lokale en externe systemen.

Misschien wel de meest gebruikte van deze functies is de mogelijkheid om X Window System-verkeer uit te zenden. Op een systeem met een X-server (dit zijn machines met een grafische gebruikersinterface) is het mogelijk om een ​​X-clientprogramma (een grafische toepassing) op een extern systeem uit te voeren en de uitvoer ervan op het lokale systeem te zien. Maak het simpel. Ik wil bijvoorbeeld verbinding maken met de externe host remote-sys en ik wil het xload-programma erop uitvoeren. Tegelijkertijd kan ik de grafische uitvoer van dit programma op de lokale computer zien. Het is als volgt gedaan:

ssh -X remote-sys

Echt voorbeeld:

Ssh-X [e-mail beveiligd] gedit

Die. SSH wordt gestart met de -X-schakelaar. En dan loopt het programma gewoon door. Kijk naar de schermafbeelding.

Ik gebruik Kali Linux. Ik log met succes in op een externe computer via SSH. Daarna lanceerde ik het gedit-programma. Dit programma staat misschien niet eens op Kali Linux, maar het is zeker in Linux Mint, waarmee ik verbinding heb gemaakt. Ik kan het resultaat van dit programma op het scherm zien alsof het programma lokaal draait. Maar nogmaals, ik wil dat je dit begrijpt, er is geen actief gedit-programma op de lokale computer. Als ik de uitvoer van gedit (of een ander programma dat op deze manier geopend is) wil opslaan, blijkt het in de omgeving van de externe computer te draaien, het bestandssysteem te zien, enz. Dit is handig wanneer u wilt configureren de externe computer met behulp van een grafische interface.

In hetzelfde artikel leert u later hoe u een afbeelding van het hele bureaublad kunt overbrengen, in de sectie "VNC instellen via SSH".

Op sommige systemen moet je voor deze "truc" de optie "-Y" gebruiken in plaats van de optie "-X".

Kopiëren van/naar een externe computer (scp en sftp)

scp

Het OpenSSH-pakket bevat ook twee programma's die een versleutelde SSH-tunnel gebruiken om bestanden over het netwerk te kopiëren. Het eerste programma is scp("beveiligde kopie") wordt vaker gebruikt, net als het vergelijkbare programma cp voor het kopiëren van bestanden. Het meest opvallende verschil is dat de bron van het bestand een externe host kan zijn, gevolgd door een dubbele punt en de locatie van het bestand. Als we bijvoorbeeld een document met de naam document.txt willen kopiëren van onze thuismap naar het externe systeem remote-sys in de huidige werkmap op ons lokale systeem, kunnen we dit doen:

Scp remote-sys:document.txt . document.txt 100% 177 0.2KB/s 00:00

Echt voorbeeld:

# verwijder het bestand op de lokale machine als het bestaat rm dirlist.txt # maak het bestand op de externe machine ssh [e-mail beveiligd]"ls * > dirlist.txt" # controleer of het bestaat ssh [e-mail beveiligd]"ls -l" # kopieer het naar de lokale computer scp [e-mail beveiligd]:dirlist.txt # controleer de inhoud ervan cat dirlist.txt

Om een ​​bestand van de lokale computer naar een externe computer te kopiëren:

scp local_file remote-sys:.

Echt voorbeeld

# maak een nieuw bestand aan raak nfile.txt aan # verzend bestand scp nfile.txt [e-mail beveiligd]:. nfile.txt 100% 0 0.0KB/s 00:00 # controleer of het bestand bestaat op de externe machine ssh [e-mail beveiligd]"ls-l"

In het verzendcommando:

  • nfile.txt - bestandsnaam,
  • [e-mail beveiligd]- gebruikersnaam en externe host,
  • . (punt) betekent dat het bestand moet worden gekopieerd naar de huidige werkmap op de externe server, terwijl de bestandsnaam hetzelfde blijft, d.w.z. nfile.txt

Herinnering:

Om een ​​bestand van B naar A te kopiëren terwijl u bent aangemeld bij B:

scp /pad/naar/bestand [e-mail beveiligd]:/pad/naar/bestemming

Kopieer bestand van B naar A wanneer ingelogd op A:

scp [e-mail beveiligd]:/pad/naar/bestand /pad/naar/bestemming

sftp

Het tweede programma voor het kopiëren van bestanden via SSH is sftp. Zoals de naam al aangeeft, is het een veilige vervanging voor ftp-programma's. sftp werkt net als het originele ftp-programma. In plaats van het verzenden van leesbare tekst, gebruikt het echter een versleutelde SSH-tunnel. Een belangrijk voordeel van sftp boven ftp is dat er geen actieve FTP-server op de externe host nodig is. Het vereist alleen een SSH-server. Dit betekent dat elke externe machine die is verbonden via een SSH-client, ook kan worden gebruikt als een FTP-achtige server. Hier is een voorbeeldsessie:

[e-mail beveiligd]~$sftp [e-mail beveiligd] Verbonden met 192.168.1.36. sftp> ls dirlist.txt newfile.txt nfile.txt temp Video Documenten Downloads Afbeeldingen Muziek Openbaar bureaublad Sjablonen sftp> lls dirlist.txt nfile.txt sftp> ls temp temp/TakeMeHome sftp> cd temp/ sftp> get TakeMeHome Ophalen /home mial/temp/TakeMeHome naar TakeMeHome sftp> doei

Het SFTP-protocol wordt ondersteund door veel grafische bestandsbeheerders die te vinden zijn in Linux-distributies. Door zowel Nautilus (GNOME) als Konqueror (KDE) te gebruiken, kunnen we URI's (links) invoeren die beginnen met sftp:// in de jump-string en werken met bestanden die zich op een extern systeem bevinden waarop een SSH-server draait.

De Garant is een vertrouwde tussenpersoon tussen de deelnemers aan de transactie.