SSH is een netwerkprotocol dat werkt in een console. De meest gebruikte SSH-client is PuTTy. De onderstaande afbeelding toont een bestaande SSH-sessie. Het is gemakkelijk te gebruiken en snel. De meeste IT-professionals beheren het hele netwerk uitsluitend via SSH vanwege de beveiliging en de snelle / gemakkelijke toegang om administratieve en beheertaken op de server uit te voeren. De hele sessie in SSH is gecodeerd - De belangrijkste protocollen voor SSH zijn SSH1 / SSH-1 en SSH2 / SSH-2. SSH-2 is de laatste, veiliger dan SSH-1. Een Linux-besturingssysteem heeft een ingebouwd hulpprogramma genaamd Terminal om toegang te krijgen tot de console en een Windows-machine heeft een SSH-client nodig (bijv. PuTTy).
Toegang krijgen tot een externe host met behulp van SSH
Om met SSH toegang te krijgen tot een externe host / machine, heb je het volgende nodig:
naar) PuTTy (gratis SSH-client)
b) SSH-server gebruikersnaam
c) SSH-serverwachtwoord
d) SSH-poort dat is meestal 22, maar aangezien 22 standaard is, moet het worden gewijzigd in een andere poort om aanvallen op deze poort te voorkomen.
In een Linux-machine is het gebruikersnaam root is standaard de beheerder en bevat alle beheerdersrechten.
In Terminal zal de volgende opdracht een verbinding met de server tot stand brengen.
ssh root@192.168.1.1
waarbij root de gebruikersnaam is en 192.168.1.1 het hostadres
Dit is hoe de terminal eruit ziet:
Uw opdrachten worden getypt na de $ symbool . Gebruik de syntaxis voor hulp bij elk commando in terminal / putty:
man ssh
man commando
man, gevolgd door een willekeurige opdracht, zal de opdrachtbegeleiding op het scherm teruggeven
Dus wat ik nu ga doen, is dat SSH PuTTy gebruikt in mijn Debian-besturingssysteem dat op VMWare draait.
Maar voordat ik dat doe, moet ik SSH inschakelen door in te loggen op mijn mijn VM Debian - Als u zojuist een server hebt gekocht bij een hostingbedrijf, kunt u hen vragen om SSH voor u in te schakelen.
Gebruik. Om ssh in te schakelen
sudo /etc/init.d/ssh herstart
Omdat ik Ubuntu gebruik en ssh niet is geïnstalleerd, dus
Gebruik deze commando's om ssh te installeren
sudo apt-get install openssh-client
sudo apt-get install openssh-server
En dit is wat ik heb, ingelogd bij SSH via PuTTy:
Dit is wat er nodig is om SSH in te stellen en een sessie tot stand te brengen via PuTTy - Hieronder zal ik enkele geavanceerde basisfuncties bespreken die je langzaamaan een beter overzicht van het hele scenario zullen geven.
Het standaard ssh-configuratiebestand bevindt zich op: / etc / ssh / sshd_config
Gebruik om het configuratiebestand te bekijken: cat / etc / ssh / sshd_config
Gebruik om het configuratiebestand te bewerken: vi / etc / ssh / sshd_config of nano / etc / ssh / sshd_config
Gebruik na het bewerken van een bestand CTRL + X en druk op de Y-toets om op te slaan en af te sluiten (nano-editor)
De SSH-poort kan worden gewijzigd vanuit het configuratiebestand, de standaardpoort is 22. De basiscommando's cat, vi en nano werken ook voor andere dingen. Voor meer informatie over specifieke opdrachten, gebruik Google Zoeken.
Als u wijzigingen aanbrengt in een configuratiebestand, is een herstart vereist voor die service. Laten we verder gaan, laten we aannemen dat we nu onze poort willen wijzigen, dus wat we gaan doen is het bestand sshd_config bewerken, en ik zou gebruiken
nano / etc / ssh / sshd_config
Je moet ingelogd zijn als admin, of gebruik sudo nano / etc / ssh / sshd_config om het bestand te bewerken. Nadat het is bewerkt, start u de ssh-service opnieuw op, sudo /etc/init.d/ssh herstart
Als u een poort wijzigt, zorg er dan voor dat u deze in uw IPTABLES toestaat als u de standaardfirewall gebruikt.
iptables -I INPUT -p tcp –dport 5000 -j ACCEPT/etc/rc.d/init.d/iptables opslaan
Vraag de iptables om te bevestigen of de poort open is
iptables -nL | grep 5000
Er zijn verschillende richtlijnen in het configuratiebestand, zoals eerder besproken, zijn er twee protocollen voor SSH (1 & 2). Als deze is ingesteld op 1, wijzigt u deze in 2.
Hieronder staat een stukje van mijn configuratiebestand:
# Pakket gegenereerd configuratiebestand
# Zie de manpage sshd_config (5) voor details
# Naar welke poorten, IP's en protocollen we luisteren
Poort 5000 vervangen nummer 22 met poort
# Gebruik deze opties om te beperken aan welke interfaces / protocollen sshd zich zal binden
#ListenAdres ::
#ListenAdres 0.0.0.0
Protocol 2 heeft protocol 1 vervangen door 2
Vergeet niet de service opnieuw te starten nadat u wijzigingen heeft aangebracht
Root is de beheerder en het wordt aanbevolen om deze uit te schakelen, anders kunt u, als u openstaat voor externe verbindingen, het slachtoffer worden van een brute force-aanval of andere ssh-kwetsbaarheden - Linux-servers zijn de meest geliefde boxen van hackers, de richtlijn LoginGraceTime , stelt een tijdslimiet in voor de gebruiker om in te loggen en te verifiëren, als de gebruiker dat niet doet, wordt de verbinding verbroken - laat dat op de standaard staan.
# Authenticatie:
LoginGraceTime 120
PermitRootLogin nr
StrictModes ja
Een super coole functie is de Sleutelverificatie (PubkeyAuthentication) - Met deze functie kunt u alleen op sleutel gebaseerde authenticatie instellen, zoals we zien bij Amazon EC3-servers. U hebt alleen toegang tot de server met uw privésleutel, deze is zeer veilig. Om dit te laten werken, zou u een sleutelpaar moeten genereren en die privésleutel aan uw externe machine moeten toevoegen, en de openbare sleutel aan de server moeten toevoegen zodat deze met die sleutel toegankelijk is.
PubkeyAuthentication ja
AuthorizedKeysFile .ssh / geautoriseerde_sleutels
RSAAverificatie ja
Wachtwoord Verificatie nr
Hierdoor wordt elk wachtwoord geweigerd en kunnen gebruikers alleen toegang krijgen met een sleutel.
In een professioneel netwerk informeert u uw gebruikers meestal wat ze wel en niet mogen doen, en alle andere noodzakelijke informatie
Het te bewerken configuratiebestand voor banners is: / etc / motd
Om het bestand in de editor te openen, typ je: nano / etc / motd of sudo / etc / motd
Bewerk het bestand, net zoals u zou doen in Kladblok.
U kunt de banner ook in een bestand plaatsen en ernaar verwijzen in het bestand / etc / motd
bv: nano banner.txt zal een banner.txt-bestand maken en onmiddellijk de editor openen.
Bewerk de banner en ctrl + x / y om deze op te slaan. Verwijs er vervolgens naar in het motd-bestand met
Banner /home/users/appualscom/banner.txt OF wat dan ook, het bestandspad is.
Net als de banner kunt u ook een bericht toevoegen vóór de aanmeldingsprompt, het te bewerken bestand is / etc / issue
SSH-tunneling
Met SSH-tunneling kunt u het verkeer van uw lokale machine naar een externe machine tunnelen. Het is gemaakt via SSH-protocollen en is gecodeerd. Bekijk het artikel over SSH-tunneling
Grafische sessie via SSH-tunnel
Schakel de grafische / gui-sessie in door de volgende regel te verwijderenX11 Doorsturen ja
Aan de kant van de klant zou het commando zijn:
ssh -X root@10.10.10.111
U kunt een programma zoals firefox, enz.uitvoeren met behulp van eenvoudige opdrachten:
firefox
Als u een weergavefout krijgt, stelt u het adres in:
export DISPLAY = IP-adres van machine: 0.0
TCP-wrappers
Als u geselecteerde hosts wilt toestaan en sommige wilt weigeren, dan zijn dit de bestanden die u moet bewerken
1. /etc/hosts.allow
2. /etc/hosts.deny
Om een paar hosts toe te staan
sshd: 10.10.10.111
Om te voorkomen dat iedereen sshing naar uw server kan, voegt u de volgende regel toe in /etc/hosts.deny
sshd: ALL
SCP - Beveiligde kopie
SCP - beveiligde kopie is een hulpprogramma voor bestandsoverdracht. U moet de volgende opdracht gebruiken om bestanden via ssh te kopiëren / over te dragen.
commando hieronder zal mijn bestand kopiëren naar / home / user2 op 10.10.10.111
scp / home / user / mijnbestand root@10.10.10.111: / home / user2
scp bron bestemmingssyntaxis
Om een map te kopiëren
scp –r / home / user / mijnmap roor@10.10.10.111: / home / user2
Zoeken naar bestanden op een externe machine
Het is heel gemakkelijk om bestanden op een externe machine te zoeken en de uitvoer op uw systeem te bekijken. Om bestanden op een externe machine te zoeken
ssh root@10.10.10.111 'find / home / user –name‘ * .jpg ’'Het commando zoekt in / home / user directory naar alle * .jpg-bestanden, je kunt ermee spelen. find / -name doorzoekt de gehele / root-directory.
SSH Extra beveiliging
iptables stelt u in staat om op tijd gebaseerde beperkingen in te stellen. De onderstaande opdrachten blokkeren de gebruiker gedurende 120 seconden als deze niet kan worden geverifieerd. U kunt de parameter / seconde / uur / minuut of / dag in de opdracht gebruiken om de periode op te geven.
Tijdgebonden limieteniptables -A INPUT -p tcp -m state –syn –state NIEUW –poort 22 -m limiet –limiet 120 / seconde –limit-burst 1 -j ACCEPT
iptables -A INPUT -p tcp -m state –syn –state NIEUW –dport 5000 -j DROP
5000 is de poort, verander deze volgens uw instellingen .
Authenticatie vanaf een specifiek IP-adres toestaan
iptables -A INPUT -p tcp -m state -state NEW -bron 10.10.10.111 -dport 22 -j ACCEPT
Andere handige opdrachten
Bevestig een scherm over SSH
ssh -t root@10.10.10.111 scherm –r
SSH-overdrachtsnelheidscontrole
ja | pv | ssh $root@10.10.10.111 'cat> / dev / null'