SSH ТУННЕЛЬ ► Линуксовые Фишечки #19
Innholdsfortegnelse:
- Installerer OpenSSH Client
- Installere OpenSSH Client på Linux
- Installere OpenSSH på Ubuntu og Debian
- Installere OpenSSH på CentOS og Fedora
- Installere OpenSSH Client på Windows 10
- Installere OpenSSH Client på macOS
- Slik bruker du
ssh
kommandoen - SSH-konfigurasjonsfil
- Port Videresending
- Lokal havnevideresending
- Videresending av ekstern port
- Videresending av dynamisk port
- Konklusjon
Secure Shell (SSH) er en kryptografisk nettverksprotokoll som brukes for en kryptert forbindelse mellom en klient og en server. Ssh-klienten oppretter en sikker tilkobling til SSH-serveren på en ekstern maskin. Den krypterte forbindelsen kan brukes til å utføre kommandoer på serveren, X11-tunneling, portvideresending og mer.
Det er en rekke SSH-klienter som er tilgjengelige både gratis og kommersiell, og OpenSSH er den mest brukte klienten. Det er tilgjengelig på alle større plattformer, inkludert Linux, OpenBSD, Windows, macOS og andre.
, vil vi forklare hvordan du bruker OpenSSH-kommandolinjeklienten (
ssh
) til å logge inn på en ekstern maskin og kjøre kommandoer eller utføre andre operasjoner.
Installerer OpenSSH Client
OpenSSH-klientprogrammet kalles
ssh
og kan påberopes fra terminalen. OpenSSH-klientpakken inneholder også andre SSH-verktøy som
scp
og
sftp
som er installert ved siden av
ssh
kommandoen.
Installere OpenSSH Client på Linux
OpenSSH-klienten er forhåndsinstallert på de fleste Linux-distribusjoner som standard. Hvis systemet ditt ikke har ssh-klienten installert, kan du installere den ved å bruke pakkehåndtereren til distribusjonen.
Installere OpenSSH på Ubuntu og Debian
sudo apt update
sudo apt install openssh-client
Installere OpenSSH på CentOS og Fedora
sudo dnf install openssh-clients
Installere OpenSSH Client på Windows 10
De fleste Windows-brukere bruker Putty for å koble seg til en ekstern maskin via SSH. Imidlertid inkluderer de nyeste versjonene av Windows 10 en OpenSSH-klient og server. Begge pakkene kan installeres via GUI eller PowerShell.
For å finne det nøyaktige navnet på OpenSSH-pakken, skriver du følgende kommando:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Kommandoen skal returnere noe slikt:
Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent
Når du vet at pakkenavnet installerer det ved å kjøre:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Etter suksess vil output se noe slik ut:
Path: Online: True RestartNeeded: False
Installere OpenSSH Client på macOS
macOS leveres med OpenSSH-klienten installert som standard.
Slik bruker du
ssh
kommandoen
Følgende krav må være oppfylt for å kunne logge inn på en ekstern maskin via SSH:
- En SSH-server må være på den eksterne maskinen. SSH-porten må være åpen i den eksterne maskinens brannmur. Du må kjenne brukernavnet og passordet til den eksterne kontoen. Kontoen må ha riktige rettigheter for ekstern innlogging.
Den grunnleggende syntaks for
ssh
kommandoen er som følger:
ssh:HOST
For å bruke
ssh
kommandoen, åpne Terminal eller PowerShell og skriv
ssh
etterfulgt av det eksterne vertsnavnet:
ssh ssh.linuxize.com
Når du kobler til en ekstern maskin gjennom SSH for første gang, vil du se en melding som nedenfor.
The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?
Hver vert har et unikt fingeravtrykk som er lagret i filen
~/.ssh/known_hosts
.
Skriv
yes
å lagre det eksterne fingeravtrykket, så blir du bedt om å oppgi passordet ditt.
Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:
Når du har angitt passordet, logges du på den eksterne maskinen.
Når brukernavnet ikke er gitt, bruker
ssh
kommandoen det gjeldende systempåloggingsnavnet.
For å logge inn som en annen bruker, spesifiser brukernavnet og verten i følgende format:
ssh username@hostname
Brukernavnet kan også spesifiseres med alternativet
-l
:
ssh -l username hostname
Når det ikke er gitt noen port, vil SSH-klienten som standard prøve å koble seg til den eksterne serveren på port 22. På noen servere endrer administratorer standard SSH-porten for å legge til et ekstra lag med sikkerhet til serveren ved å redusere risikoen for automatiserte angrep.
Hvis du vil koble til på en port som ikke er standard, bruker du
-p
for å spesifisere porten:
ssh -p 5522 username@hostname
ssh -v username@hostname
For å øke
-vv
, bruk
-vv
eller
-vvv
.
Kommandoen
ssh
godtar en rekke alternativer.
For en fullstendig liste over alle alternativene kan du lese
ssh
man-siden ved å skrive
man ssh
i terminalen.
SSH-konfigurasjonsfil
OpenSSH-klienten leser alternativene som er satt i konfigurasjonsfilen per bruker (
~/.ssh/config
). I denne filen kan du lagre forskjellige SSH-alternativer for hver eksterne maskin du kobler til.
En prøve SSH-konfigurasjon vises nedenfor:
Host dev HostName dev.linuxize.com User mike Port 4422
Når du påkaller ssh-klienten ved å skrive
ssh dev
vil kommandoen lese
~/.ssh/config
filen og bruke tilkoblingsdetaljene som er spesifisert for dev-verten. I dette eksemplet tilsvarer
ssh dev
følgende:
ssh -p 4422 [email protected]
For mer informasjon, sjekk artikkelen på SSH-konfigurasjonsfilen.
Autentisering av offentlig nøkkel
SSH-protokollen støtter forskjellige autentiseringsmekanismer.
Den offentlige nøkkelbaserte autentiseringsmekanismen lar deg logge på den eksterne serveren uten å måtte skrive inn passordet ditt.
Denne metoden fungerer ved å generere et par kryptografiske nøkler som brukes til godkjenning. Den private nøkkelen er lagret på klientenheten, og den offentlige nøkkelen overføres til hver ekstern server som du vil logge på. Den eksterne serveren må være konfigurert for å godta nøkkelgodkjenning.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Du vil bli bedt om å skrive inn en sikker passord. Enten du vil bruke passordfrase, er det opp til deg.
Når du har et nøkkelpar, kopier du den offentlige nøkkelen til den eksterne serveren:
ssh-copy-id username@hostname
Angi passordet for ekstern bruker, og den offentlige nøkkelen legges til filen for eksterne bruker
authorized_keys
.
Når nøkkelen er lastet opp, kan du logge deg på den eksterne serveren uten å bli bedt om et passord.
Ved å stille inn en nøkkelbasert autentisering, kan du forenkle påloggingsprosessen og øke den generelle serversikkerheten.
Port Videresending
SSH-tunneling eller videresending av SSH-port er en metode for å lage en kryptert SSH-forbindelse mellom en klient og en servermaskin som tjenesteporter kan videresendes gjennom.
SSH-videresending er nyttig for å transportere nettverksdata av tjenester som bruker en ukryptert protokoll, for eksempel VNC eller FTP, få tilgang til geobegrenset innhold eller omgå mellomliggende brannmurer. I utgangspunktet kan du videresende hvilken som helst TCP-port og tunnelere trafikken over en sikker SSH-tilkobling.
Det er tre typer SSH-portvideresending:
Lokal havnevideresending
Lokal port-videresending lar deg videresende en forbindelse fra klientverten til SSH-serververten og deretter til destinasjonsvertsporten.
Slik lager du en lokal port-videresending passerer
-L
alternativet til
ssh
klienten:
ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname
Alternativet -f forteller
ssh
kommandoen til å kjøre i bakgrunnen og
-N
ikke å utføre en ekstern kommando.
Videresending av ekstern port
Videresending av ekstern port er det motsatte av lokal portvideresending. Den videresender en port fra serververten til klientverten og deretter til destinasjonsvertsporten.
Alternativet
-L
forteller
ssh
å opprette en videresending av ekstern port:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname
Videresending av dynamisk port
Videresending av dynamisk port oppretter en SOCKS proxy-server som tillater kommunikasjon på tvers av en rekke porter.
Slik lager du en dynamisk portvideresending (SOCKS) pass--alternativet til ssh-klienten:
ssh -D LOCAL_PORT -N -f username@hostname
For mer detaljert informasjon og trinn-for-trinn-instruksjon, sjekk artikkelen om hvordan du konfigurerer SSH-tunnel (port forwarding).
Konklusjon
For å koble til en ekstern server via SSH bruker du
ssh
kommandoen etterfulgt av det eksterne brukernavnet og vertsnavnet (
ssh username@hostname
).
Å vite hvordan du bruker
ssh
kommandoen er en essensiell for å administrere ekstern server.
Gratis SSH-klienter for Windows 10/8/7

Secure Shell eller SSH er et program som lar deg logge på en ekstern maskin, kjøre kommandoer og flytte filer. Kontroller disse gratis SSH-klientprogramvaren for Windows.
Slik konfigurerer du ssh-tunneling for å omgå en brannmur

En brannmur er en god ting, men hvis den hindrer deg i å gjøre noe, er SSH Tunneling et godt alternativ å utforske.
Hvordan endre ssh-porten i Linux

Som standard lytter SSH på port 22. Endring av standard SSH-port gir et ekstra lag med sikkerhet til serveren din ved å redusere risikoen for automatiserte angrep. Denne veiledningen forklarer hvordan du endrer standard SSH-port i Linux.