Uw gids voor het gebruik van SSH



Probeer Ons Instrument Voor Het Oplossen Van Problemen

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).



stopverf



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:

terminal

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:

ssh

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

poort-ssh

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 verwijderen
X11 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 limieten
iptables -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'

Tags ssh SSH-tunneling 4 minuten gelezen