SSH (Secure Shell) Det er en protokol, der hjælper os med sikker adgang til fjerncomputere, grundlæggende som Telnet gør, men ved hjælp af krypteringsalgoritmer, der hjælper os med at holde vores forbindelse sikker, især hvis vi ønsker at få adgang til computere, der udfører en vigtig funktion i en organisation.
Generelt skal vi for at få adgang oplyse vores brugernavn og adressen på computeren, så SSH-serveren beder os om adgangskoden:
ssh usuario@equiporemoto
Da klienten starter den første forbindelse mellem fjerncomputeren og os, rejser informationen allerede sikkert, hvilket forhindrer nogen i at få vores adgangsoplysninger til nævnte computer, men SSH er en meget fleksibel protokol, der giver os mange odds.
SCP
Den første er at være i stand til at overføre filer mellem klienten og fjerncomputeren uden behov for at montere en FTP- eller NFS-server, blot ved at bruge SCP (Secure CoPy), som de fleste SSH-servere implementerer:
scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt
SSH tunnelering
Denne funktion er meget nyttig, da den giver os mulighed for at sende og modtage information, der ikke nødvendigvis er shell-kommandoer mellem klienten og fjerncomputeren, for eksempel almindelig browsing. Hvis du ikke kan gætte, hvor nyttigt dette kan være, så tænk på følgende: du skal have adgang til en side, men stedet, hvor du er, har en firewall implementeret, der blokerer netop den side, derfor kan vi lave 'tunneling' med en fjerncomputer, der ikke har nævnte blokke og videregiver navigationen på nævnte side gennem vores SSH-session:
ssh -D 8888 usuario@equiporemoto
Når først den er tilsluttet, 'lytter' vores SSH-klient på port 8888 som en proxyserver, så vi kan konfigurere vores browser, og al trafik transmitteres gennem SSH-sessionen.
Et andet eksempel, der opstår for mig, er, når vi på grund af nogle geografiske begrænsninger ikke kan få adgang til en webtjeneste, hvorfra vi er, når vi tunnelerer, nævnte webservice registrerer IP'en på vores fjernserver som oprindelsen, ikke vores klient-IP. Dette svarer lidt til VPN'er (Virtual Private Network)
Omvendt SSH
Hvis vi af en eller anden grund har brug for at få adgang til en computer, der er bag en firewall, og den ikke tillader os at omdirigere SSH-trafik til den, kan vi lave en 'omvendt SSH' på en sådan måde, at den computer opretter forbindelse til en anden SSH-server , som vi også kan oprette forbindelse til, for at få adgang til udstyret bag firewallen. Et eksempel, der kommer til at tænke på, er, når vi vil hjælpe en ven, der ikke aner, hvordan man konfigurerer en omdirigering på sit modem, men vi skal have fjernadgang til hans computer:
Ven —> Modem —> SSH Server <— Us
De trin, der skal følges, er relativt meget enkle:
Amigo
ssh -R 9999:localhost:22 usuario@servidorssh
os
ssh usuario@servidorssh
Når vi først er inde i SSH-serveren, kan vi oprette forbindelse til vores vens computer ved hjælp af
ssh amigo@localhost -p 9999
Som du kan se, ligger al magien i parameteren -R, som fortæller den mellemliggende server, at vores vens computer lytter på port 9999 nu som en server.
Dette er blot nogle af de muligheder, som SSH tilbyder os, men jeg inviterer dig til at eksperimentere med nogle flere, for eksempel; vi kan lave uovervågede scripts ved hjælp af RSA-nøgler, omdirigere X-sessioner (grafisk tilstand) til vores grafiske miljø, for blot at nævne nogle få.
Fremragende artikel, jeg glæder mig til at komme hjem og øve dem.
Mange tak! Faktisk er det min første artikel på bloggen, og det er meget rart at læse disse kommentarer. Vær hilset!
I går spurgte jeg lige om noget om dette emne, og det er følgende.
Er der en måde at være i stand til at scp en hel mappe, men under hensyntagen til datoen for filerne? Jeg har med andre ord en mappe med mange filer, som jeg downloadede for noget tid siden, jeg er interesseret i kun at downloade det, der er blevet uploadet til den mappe efter en bestemt dato.
Hilsen og på forhånd mange tak.
Du kan gøre det med RSYNC over SSH. 😉
rsync er låget på krukken!!! 😀
Jeg anbefaler, at du prøver unisont, det er SPEKTAKULÆRT, det er tilgængeligt i repos (i det mindste debian og ubuntu)
http://www.cis.upenn.edu/~bcpierce/unison/
Jeg bruger den til at lave daglige sikkerhedskopier af min note til en anden computer, udover at have mapper synkroniseret på forskellige computere.
Det er meget nemt at bruge
Jeg håber, det er nyttigt for dig!
exitos
Eduardo
Det virker mere som en opgave som for rsync, men jeg ved ikke, om der er en parameter til at gøre det specifikt, hvis ikke, skal det måske håndteres fra et script.
Det der falder mig ind er at lave en ls ordnet efter dato, og derfra kopiere dem du skal bruge med en simpel scp, fordi scp'en ikke har så mange funktioner som de godt kommenterer, den har rsync.
Jeg attesterer, at omvendt ssh fungerer godt, jeg har brugt det mellem min pc og en anden, der var mere end 700 km væk og ingen problemer.
Tak for disse ting, de er uvurderlige.
Hvorfor salt! Haha jeg vidste ikke at ssh havde så mange muligheder, jeg vil allerede gerne lære at konfigurere en ssh server og begynde at eksperimentere med dens muligheder, bare en ting, kan du forklare hvad hver parameter gør?
Ifølge ssh-manden selv, bruges -D'et til at specificere en 'dynamisk applikationsvidere' lokalt, som, som jeg forklarede i artiklen, bruges til at tunnelere trafik inden for samme SSH-session. -R angiver den fjernport, der vil blive omdirigeret til vores lokale computer gennem 'videresendelse'. Og endelig angiver -p hvilken port klienten skal forbinde til, når den ikke bruger standardporten: 22
Det er godt at du berører dette emne, jeg har et spørgsmål om ssh-nøgler, kan der genereres mere end én nøgle til forskellige tjenester? De vil tale om det
Greetings!
Når du bruger godkendelse gennem SSL-nøgler, kan du eksportere de samme (din computers) til forskellige tjenester, og på samme måde, hvis din computer er serveren, kan du inkorporere forskellige nøgler fra forskellige computere. Jeg ved ikke om jeg svarede på dit spørgsmål, men det er det jeg forstod. Vær hilset
Jeg tror, jeg kan huske, at der var en vej gennem ssh, der gjorde det muligt for os at køre et program på afstand og se det på vores computer, som om det var et lokalt program.
For eksempel kunne vi køre firefox, vi ser og kontrollerer det på vores lokale computer, men processen kører på fjerncomputeren.
Især nyttig på computere med få ressourcer, men desværre styrer jeg ikke problemet, og jeg ved ikke, hvordan jeg konfigurerer computerne til at gøre det.
Ved nogen noget om det?
Til sådan noget vil du gerne bruge VNC, og du kan tunnelere med SSH.
@Personal for mig ville det ikke være praktisk at bruge VNC... med VNC, hvis jeg ikke tager fejl, tager du hele skrivebordet med...
@Luis, hvad du gør gøres ved blot at tilføje "-X" parameteren til ssh (du skal tillade X-videresendelse på din server)
http://i.imgur.com/NCpfzBL.jpg
@ x11tete11x
I betragtning af hvad Luis nævnte, tænkte jeg på at tilbyde ham et andet alternativ, da:
1. "Særlig nyttig på computere med lav ressource..."
-I tilfælde af en enkelt applikation bruger den måske ikke så mange ressourcer, men forsøg på at åbne 10 vinduer med x-videresendelse får stadig systemet til at arbejde mere end at have en enkelt instans af VNC, da VNC ikke "bringer hele skrivebordet"
-Når man lukker programmet på klienten, ender det det samme på serveren (nogen ret mig, hvis jeg tager fejl), mens man med VNC f.eks. kan lade hele natten downloade en torrent og om morgenen logge ind igen og alt ville fortsætte, ligesom jeg var gået.
-VNC er en systemagnostisk protokol, du kan få adgang til den fra en klient på Win, Andorid, Mac OSX osv. og brug dine GNU/Linux-programmer uden at skulle installere andet end selve VNC-klienten.
Og 2. "... desværre styrer jeg ikke problemet, og jeg ved ikke, hvordan jeg konfigurerer computerne til at gøre det."
Det er meget nemmere (og uden risiko for at skrive noget forkert og genstarte uden skrivebord) at installere VNC og konfigurere SSH-tunnelen (gjort med GUI) end at flytte X-konfigurationsfilerne.
Tak til jer begge for jeres kommentarer.
Jeg har brugt SSH sammen med SHFS i lang tid for at få adgang til fjernindhold på min lille server, men jeg har aldrig været i stand til at køre fjernapplikationer i et grafisk miljø.
Jeg vil prøve begge muligheder og se hvordan det går. Det, jeg kommenterede i starten, virker enklere, da du ifølge x11tete11x bare skal tilføje en parameter.
Så vil jeg se om jeg finder en enkel måde at konfigurere VNC på, da jeg er lidt handy, jeg er Arch-bruger, så der vil helt sikkert være information på wikien, en anden ting er for mig at finde ud af. Hahaha
En hilsen.
Det kan gøres ved at sende parameteren -X til sessionen, men du skal have din X-server konfigureret til at acceptere forbindelser fra en computer på netværket, det tror jeg er konfigureret med xhost-værktøjet. Som Staff nævner, er VNC også en meget god mulighed.
Det er X11 videresendelse, her på netop denne side er der et indlæg om det:
https://blog.desdelinux.net/x11-forwarding-a-traves-de-ssh/
Tak for info venner.
Når det er sagt, vil jeg prøve at gøre det ved at bruge begge muligheder for at se, hvilken der passer mig bedst.
Greetings!