SSH er en netværksprotokol, der fungerer i en konsol. Den mest anvendte SSH-klient er PuTTy. Billedet nedenfor viser en etableret SSH-session. Det er let at bruge og hurtigt. De fleste IT-professionelle styrer hele netværket udelukkende via SSH på grund af sikkerheden og den hurtige / nem adgang til at udføre administrative og ledelsesopgaver på serveren. Hele sessionen i SSH er krypteret - De vigtigste protokoller for SSH er SSH1 / SSH-1 og SSH2 / SSH-2. SSH-2 er sidstnævnte, mere sikker end SSH-1. Et Linux OS har et indbygget værktøj kaldet Terminal for at få adgang til konsol, og en Windows-maskine kræver en SSH-klient (f.eks. PuTTy).
Adgang til en ekstern vært ved hjælp af SSH
For at få adgang til en ekstern vært / maskine ved hjælp af SSH skal du have følgende:
til) PuTTy (gratis SSH-klient)
b) SSH Server-brugernavn
c) SSH-serveradgangskode
d) SSH-port som normalt er 22, men da 22 er standard, skal den ændres til en anden port for at undgå angreb på denne port.
I en Linux-maskine er brugernavn rod er administrator som standard og indeholder alle de administrative rettigheder.
I Terminal starter følgende kommando en forbindelse til serveren.
ssh root@192.168.1.1
hvor root er brugernavnet, og 192.168.1.1 er værtsadressen
Sådan ser terminalen ud:
Dine kommandoer vil blive skrevet efter $ symbol . For hjælp med enhver kommando i terminal / kitt, brug syntaksen:
mand ssh
mand kommando
mand, efterfulgt af enhver kommando, returnerer kommandovejledning på skærmen
Så hvad jeg skal gøre nu, er SSH ved hjælp af PuTTy i mit Debian OS, der kører på VMWare.
Men inden jeg gør det, er jeg nødt til at aktivere SSH ved at logge ind på min min VM Debian - Hvis du lige har købt en server fra et hostingfirma, kan du anmode dem om at aktivere SSH for dig.
For at aktivere ssh skal du bruge
sudo /etc/init.d/ssh genstart
Da jeg bruger Ubuntu, og ssh ikke var installeret, så
Brug disse kommandoer til at installere ssh
sudo apt-get install openssh-klient
sudo apt-get install openssh-server
Og her er hvad jeg har, logget ind på SSH via PuTTy:
Nu er det, hvad der kræves for at konfigurere SSH og etablere en session via PuTTy - Nedenfor vil jeg adressere nogle grundlæggende avancerede funktioner, der langsomt begynder at give dig et større overblik over hele scenariet.
Standard ssh-konfigurationsfilen findes på: / etc / ssh / sshd_config
For at se konfigurationsfilen skal du bruge: cat / etc / ssh / sshd_config
For at redigere konfigurationsfilen skal du bruge: vi / etc / ssh / sshd_config eller nano / etc / ssh / sshd_config
Efter redigering af en fil skal du bruge CTRL + X og tryk på Y-tasten for at gemme og afslutte den (nano-editor)
SSH-porten kan ændres fra konfigurationsfilen, standardporten er 22. De grundlæggende kommandoer, cat, vi og nano fungerer også for andre ting. For at lære mere om kommandoer specifikt, brug Google Søgning.
Hvis du foretager ændringer i en hvilken som helst konfigurationsfil, skal du genstarte den service. Lad os antage, at vi nu vil ændre vores port, så hvad vi skal gøre er at redigere sshd_config-filen, og jeg vil bruge
nano / etc / ssh / sshd_config
Du skal være logget ind som administrator eller bruge sudo nano / etc / ssh / sshd_config for at redigere filen. Når den er redigeret, skal du genstarte ssh-tjenesten, sudo /etc/init.d/ssh genstart
Hvis du skifter en port, skal du sørge for at tillade den i dine IPTABLES, hvis du bruger standard firewall.
iptables -I INPUT -p tcp –port 5000 -j ACCEPT/etc/rc.d/init.d/iptables gemmes
Forespørg iptables for at bekræfte, om porten er åben
iptables -nL | grep 5000
Der er flere direktiver i konfigurationsfilen, som beskrevet tidligere, der er to protokoller til SSH (1 & 2). Hvis det er indstillet til 1, skal du ændre det til 2.
Nedenfor er lidt af min konfigurationsfil:
# Pakkegenereret konfigurationsfil
# Se sshd_config (5) manpage for detaljer
# Hvilke porte, IP'er og protokoller vi lytter til
Port 5000 erstattet nummer 22 med port
# Brug disse indstillinger til at begrænse hvilke grænseflader / protokoller sshd vil binde til
#ListenAddress ::
#ListenAddress 0.0.0.0
Protokol 2 erstattede protokol 1 med 2
glem ikke at genstarte tjenesten, når du har foretaget ændringer
Root er administrator, og det anbefales, at det skal deaktiveres, ellers hvis du er åben for fjernforbindelser, kan du blive genstand for et brutalt kraftangreb eller andre ssh-sårbarheder - Linux-servere er de mest elskede kasser af hackere, direktivet LoginGraceTime , sætter en tidsfrist for brugeren til at logge ind og godkende, hvis brugeren ikke gør det, lukkes forbindelsen - lad det være som standard.
# Godkendelse:
LoginGraceTime 120
PermitRootLogin-nr
StrictModes ja
En super sej funktion, er Nøglegodkendelse (PubkeyAuthentication) - Denne funktion giver dig mulighed for kun at konfigurere nøglebaseret godkendelse, som vi ser med Amazon EC3-servere. Du kan kun få adgang til serveren ved hjælp af din private nøgle, den er meget sikker. For at dette skal fungere, skal du generere et nøglepar og føje den private nøgle til din eksterne maskine og tilføje den offentlige nøgle til serveren, så den er tilgængelig ved hjælp af denne nøgle.
PubkeyAuthentication ja
AuthorisedKeysFile .ssh / autoriserede_taster
RSAAuthentication ja
Adgangskode Godkendelsesnr
Dette nægter enhver adgangskode og giver kun brugere adgang med en nøgle.
I et professionelt netværk vil du normalt informere dine brugere, hvad de har lov til at gøre, og hvad ikke, og alle andre nødvendige oplysninger
Konfigurationsfilen, der skal redigeres for bannere, er: / etc / motd
For at åbne filen i editoren, skriv: nano / etc / motd eller sudo / etc / motd
Rediger filen, ligesom du ville gøre i notesblok.
Du kan også placere banneret i en fil og henvise til det i / etc / motd
f.eks: nano banner.txt opretter en banner.txt-fil og åbner straks editoren.
Rediger banneret, og ctrl + x / y for at gemme det. Henvis derefter til det i motd-filen ved hjælp af
Banner /home/users/appualscom/banner.txt ELLER hvad som helst, filstien er.
Ligesom banneret kan du også tilføje en besked før loginprompten, filen til redigering er / etc / problem
SSH tunnelering
SSH Tunneling giver dig mulighed for at tunnelere trafikken fra din lokale maskine til en fjernmaskine. Det oprettes gennem SSH-protokoller og er krypteret. Tjek artiklen på SSH tunnelering
Grafisk session over SSH-tunnel
Aktivér den grafiske / gui-session ved at fjerne kommentar til følgende linjeX11 Videresendelse ja
På klientens ende ville kommandoen være:
ssh -X root@10.10.10.111
Du kan køre program som Firefox osv ved at bruge enkle kommandoer:
Firefox
Hvis du får en skærmfejl, skal du indstille adressen:
eksport DISPLAY = IPadresse til maskine: 0.0
TCP-indpakninger
Hvis du vil tillade valgte værter og nægte nogle, er det de filer, du skal redigere
1. /etc/hosts.allow
2. /etc/hosts.deny
At tillade et par værter
sshd: 10.10.10.111
For at forhindre alle i at sshing ind på din server skal du tilføje følgende linje i /etc/hosts.deny
sshd: ALLE
SCP - Sikker kopi
SCP - sikker kopi er et filoverførselsværktøj. Du skal bruge følgende kommando til at kopiere / overføre filer via ssh.
kommandoen nedenfor kopierer minfil til / home / user2 den 10.10.10.111
scp / home / user / myfile root@10.10.10.111: / home / user2
scp kilde destination syntaks
Sådan kopieres en mappe
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2
Søgning efter filer på en ekstern maskine
Det er meget let at søge efter filer på en ekstern maskine og se output på dit system. Sådan søges filer på en ekstern maskine
ssh root@10.10.10.111 “find / home / user – name‘ * .jpg '”Kommandoen søger i / home / user-kataloget for alle * .jpg-filer, du kan lege med den. find / -name søger i hele / rodmappen.
SSH Ekstra sikkerhed
iptables giver dig mulighed for at indstille tidsbaserede begrænsninger. Kommandoerne nedenfor blokerer brugeren i 120 sekunder, hvis de ikke godkender. Du kan bruge parameteren / sekund / time / minut eller / dag i kommandoen til at specificere perioden.
Tidsbaserede grænseriptables -A INPUT -p tcp -m tilstand –syn –stat NY –port 22 -m grænse –grænse 120 / sekund –grænse burst 1 -j ACCEPT
iptables -A INPUT -p tcp -m state –syn –state NEW –dport 5000 -j DROP
5000 er porten, skift den i henhold til dine indstillinger .
Tillader godkendelse fra en bestemt IP
iptables -A INPUT -p tcp -m tilstand –tilstand NY – kilde 10.10.10.111 –port 22 -j ACCEPT
Andre nyttige kommandoer
Vedhæft en skærm over SSH
ssh -t root@10.10.10.111 skærm –r
SSH-overførselshastighedskontrol
ja | pv | ssh $root@10.10.10.111 “cat> / dev / null”