Din guide till användning av SSH



Prova Vårt Instrument För Att Eliminera Problem

SSH är ett nätverksprotokoll som fungerar i en konsol. Den vanligaste SSH-klienten är PuTTy. Bilden nedan visar en etablerad SSH-session. Det är enkelt att använda och snabbt. De flesta IT-professionella hanterar hela nätverket enbart via SSH på grund av säkerheten och snabb / enkel åtkomst för att utföra administrativa och hanteringsuppgifter på servern. Hela sessionen i SSH är krypterad - De viktigaste protokollen för SSH är SSH1 / SSH-1 och SSH2 / SSH-2. SSH-2 är den senare, säkrare än SSH-1. Ett Linux-operativsystem har ett inbyggt verktyg som heter Terminal för att komma åt konsolen och en Windows-maskin kräver en SSH-klient (t.ex. PuTTy).



Spackel



Åtkomst till en fjärrvärd med SSH



För att komma åt en fjärrvärd / maskin med SSH måste du ha följande:

till) PuTTy (gratis SSH-klient)
b) SSH-serverns användarnamn
c) SSH-serverlösenord
d) SSH-port vilket vanligtvis är 22 men eftersom 22 är standard bör det ändras till en annan port för att undvika attacker på den här porten.

I en Linux-maskin är användarnamn rot är administratör som standard och innehåller alla administrativa rättigheter.

I Terminal startar följande kommando en anslutning till servern.

ssh root@192.168.1.1
där root är användarnamnet och 192.168.1.1 är värdadressen

Så här ser terminalen ut:

terminal

Dina kommandon kommer att skrivas efter $ symbol . För hjälp med valfritt kommando i terminal / kitt, använd syntaxen:

man ssh
man kommando

man, följt av vilket kommando som helst kommer tillbaka kommandovägledning på skärmen

Så vad jag ska göra nu är att SSH använder PuTTy i mitt Debian OS som körs på VMWare.

Men innan jag gör det, måste jag aktivera SSH genom att logga in på min min VM Debian - Om du just har köpt en server från ett värdföretag kan du be dem att aktivera SSH åt dig.

För att aktivera ssh, använd
sudo /etc/init.d/ssh starta om

Eftersom jag använder Ubuntu och ssh inte installerades, så
Använd dessa kommandon för att installera ssh
sudo apt-get install openssh-client
sudo apt-get install openssh-server

Och här är vad jag har, inloggad på SSH via PuTTy:

ssh

Nu är det vad som krävs för att ställa in SSH och skapa en session via PuTTy - Nedan kommer jag att ta itu med några grundläggande avancerade funktioner som långsamt börjar ge dig en större bild av hela scenariot.

Standard-ssh-konfigurationsfilen finns på: / etc / ssh / sshd_config
För att se konfigurationsfilen, använd: cat / etc / ssh / sshd_config
För att redigera konfigurationsfilen, använd: vi / etc / ssh / sshd_config eller nano / etc / ssh / sshd_config

När du har redigerat en fil, använd CTRL + X och tryck på Y-tangenten för att spara och avsluta den (nano-editor)

SSH-porten kan ändras från konfigurationsfilen, standardporten är 22. Grundkommandona, cat, vi och nano fungerar också för andra saker. För att lära dig mer om kommandon specifikt, använd Google Sök.

Om du gör några ändringar i någon konfigurationsfil krävs en omstart för den tjänsten. Låt oss anta att vi nu vill ändra port, så vad vi ska göra är att redigera sshd_config-filen, så skulle jag använda

nano / etc / ssh / sshd_config

port-ssh

Du måste vara inloggad som admin eller använda sudo nano / etc / ssh / sshd_config för att redigera filen. Starta om ssh-tjänsten efter att den har redigerats, sudo /etc/init.d/ssh starta om

Om du byter en port, se till att tillåta den i din IPTABLES, om du använder standard brandväggen.

iptables -I INPUT -p tcp –port 5000 -j ACCEPT
/etc/rc.d/init.d/iptables spara

Fråga iptabellerna för att bekräfta om porten är öppen
iptables -nL | grep 5000

Det finns flera direktiv i konfigurationsfilen, som tidigare diskuterats, det finns två protokoll för SSH (1 & 2). Om den är inställd på 1, ändra den till 2.

Nedan är lite av min konfigurationsfil:

# Paketgenererad konfigurationsfil
# Se sidan för sshd_config (5) för mer information

# Vilka portar, IP-adresser och protokoll vi lyssnar på
Port 5000 ersatte nummer 22 med port
# Använd dessa alternativ för att begränsa vilka gränssnitt / protokoll sshd kommer att binda till
#ListenAddress ::
#ListenAddress 0.0.0.0
Protokoll 2 ersatte protokoll 1 med 2

glöm inte att starta om tjänsten efter att ha gjort ändringar

Root är administratör, och det rekommenderas att den måste inaktiveras, annars kan du bli föremål för en brute force-attack eller andra ssh-sårbarheter om du är öppen för fjärranslutningar - Linux-servrar är de mest älskade rutorna av hackare, direktivet LoginGraceTime , ställer in en tidsgräns för användaren att logga in och autentisera, om användaren inte gör det, stängs anslutningen - lämna den till standard.

# Autentisering:
LoginGraceTime 120
PermitRootLogin nr
StrictModes ja

En super cool funktion, är Nyckelautentisering (PubkeyAuthentication) - Med den här funktionen kan du bara ställa in nyckelbaserad autentisering, som vi ser med Amazon EC3-servrar. Du kan bara komma åt servern med din privata nyckel, den är mycket säker. För att detta ska fungera måste du skapa ett nyckelpar och lägga till den privata nyckeln till din fjärrmaskin och lägga till den offentliga nyckeln till servern så att den kan nås med den nyckeln.

PubkeyAuthentication ja
AuthorisedKeysFile .ssh / authorized_keys
RSAAuthentication ja
PasswordAuthentication no

Detta kommer att neka något lösenord, och endast tillåta användare tillgång med en nyckel.

I ett professionellt nätverk skulle du vanligtvis informera dina användare vad de får göra och vad inte, och all annan nödvändig information

Konfigurationsfilen att redigera för banners är: / etc / motd
För att öppna filen i redigeraren, skriv: nano / etc / motd eller sudo / etc / motd

Redigera filen, precis som i notepad.

Du kan också placera bannern i en fil och referera till den i / etc / motd

t.ex: nano banner.txt skapar en banner.txt-fil och öppnar omedelbart redigeraren.

Redigera bannern och ctrl + x / y för att spara den. Hänvisa sedan till den i motd-filen med

Banner /home/users/appualscom/banner.txt ELLER vad som helst, filvägen är.

Precis som bannern kan du också lägga till ett meddelande innan inloggningsprompten, filen för redigering är / etc / problem

SSH-tunnling

SSH Tunneling låter dig tunnla trafiken från din lokala maskin till en fjärrmaskin. Den skapas genom SSH-protokoll och är krypterad. Kolla in artikeln på SSH-tunnling

Grafisk session över SSH-tunnel

Aktivera den grafiska / gui-sessionen genom att avmarkera följande rad
X11 Vidarebefordran ja

På klientens ände skulle kommandot vara:
ssh -X root@10.10.10.111

Du kan köra program som Firefox etc. med enkla kommandon:
Firefox

Om du får ett visningsfel, ställ in adressen:
export DISPLAY = IPaddressofmachine: 0.0

TCP-omslag

Om du vill tillåta utvalda värdar och förneka några, är det här de filer du behöver redigera

1. /etc/hosts.allow
2. /etc/hosts.deny

För att tillåta några värdar

sshd: 10.10.10.111

För att blockera alla från att sshing till din server, lägg till följande rad i /etc/hosts.deny
sshd: ALL

SCP - Säker kopia

SCP - säker kopia är ett filöverföringsverktyg. Du måste använda följande kommando för att kopiera / överföra filer via ssh.

kommandot nedan kopierar minfil till / home / user2 den 10.10.10.111
scp / home / user / myfile root@10.10.10.111: / home / user2
scp källmålsyntax

För att kopiera en mapp
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2

Söka efter filer på en fjärrmaskin

Det är väldigt enkelt att söka efter filer på en fjärrmaskin och visa utdata på ditt system. Söka efter filer på en fjärrmaskin

ssh root@10.10.10.111 “hitta / hem / användarnamn“ * .jpg ””

Kommandot söker i / home / användarkatalog efter alla * .jpg-filer, du kan spela med den. hitta / -namn kommer att söka i hela / rotkatalogen.

SSH ytterligare säkerhet

iptables låter dig ställa in tidsbaserade begränsningar. Kommandona nedan blockerar användaren i 120 sekunder om de inte autentiserar. Du kan använda parametern / sekund / timme / minut eller / dag i kommandot för att specificera perioden ..

Tidsbaserade gränser
iptables -A INPUT -p tcp -m state –syn –state NEW –port 22 -m limit –limit 120 / second –limit-burst 1 -j ACCEPT

iptables -A INPUT -p tcp -m state –syn –state NEW –dport 5000 -j DROP

5000 är porten, ändra den enligt dina inställningar .

Tillåter autentisering från en specifik IP
iptables -A INPUT -p tcp -m state –state NEW –källa 10.10.10.111 –port 22 -j ACCEPT

Andra användbara kommandon

Bifoga en skärm över SSH
ssh -t root@10.10.10.111 skärm –r
SSH-överföringshastighetskontroll
ja | pv | ssh $root@10.10.10.111 “cat> / dev / null”

Taggar ssh SSH-tunnling 4 minuter läst