SSH

Oversettelse(er): Deutsch – engelsk – Fran@ais – Italiano – Españ Brasileiro

ToDo: slå sammen (og oversette) denne siden og den franske (mer komplett)

Introduksjon

SSH står For Secure Shell og er en protokoll for sikker ekstern pålogging og andre sikre nettverkstjenester over en usikker NETTVERK1. Se Wikipedia-Secure Shell for mer generell informasjon og ssh, lsh-client eller dropbear FOR SSH – programvareimplementeringene Der OpenSSH Er Den mest populære Og mest brukte 2. SSH erstatter ukryptert telnet, rlogin og rsh og legger til mange funksjoner.

I dette dokumentet bruker Vi OpenSSH command suite, det vil også antas at følgende to variabler er definert:

remote_host=<the remote computer>remote_user=<your user name on $remote_host>

Så, hvis du vil bruke oppskriftene nedenfor, må du først sette disse variablene til det eksterne datamaskinnavnet og brukernavnet på den eksterne datamaskinen. Deretter kutt og lim inn kommandoene nedenfor skal fungere. remote_host kan også være EN IP-adresse.

Installasjon

Installasjon av klienten

vanligvis er klienten installert som standard. Hvis ikke er det nok å kjøre som root:

apt install openssh-client

Installasjon av serveren

serveren gjør det mulig å koble eksternt og blir installert ved å kjøre som root:

apt install openssh-server

Konfigurasjonsfiler

de viktigste konfigurasjonsfilene er i katalogen /etc / ssh :

  • ssh_config: klientkonfigurasjonsfil

  • sshd_config: server konfigurasjonsfil

i tillegg inneholder denne katalogen de private / offentlige nøkkelparene som identifiserer verten din:

  • ssh_host_dsa_key
  • ssh_host_dsa_key.pub
  • ssh_host_rsa_key
  • ssh_host_rsa_key.pub

Siden OpenSSH 5.73 er et nytt privat/offentlig nøkkelpar tilgjengelig:

  • ssh_host_ecdsa_key
  • ssh_host_ecdsa_key.pub

Siden OpenSSH 6.54 er et nytt privat/offentlig nøkkelpar tilgjengelig:

  • ssh_host_ed25519_key
  • ssh_host_ed25519_key.pub

Regenererende vertsnøkler

rm /etc/ssh/ssh_host_*dpkg-reconfigure openssh-server

Ekstern pålogging

med passord

hvis du vil logge inn på $remote_host som bruker $remote_user, skriv bare

ssh $remote_user@$remote_host

og skriv deretter inn passordet ditt.

hvis brukernavnene på den lokale og den eksterne datamaskinen er identiske, kan du slippe $remote_user@-delen og bare skrive

ssh $remote_host

hvis dette er første gang du logger inn på den eksterne datamaskinen, vil ssh spørre deg om du er sikker på at du vil koble til den eksterne datamaskinen. Svar ‘ ja ‘ etter at du har bekreftet den eksterne datamaskinens fingeravtrykk, skriv inn passordet ditt, og ssh vil koble deg til den eksterne verten.

bruke delte nøkler

en av funksjonene til ssh bruker et par private / offentlige nøkler for å koble til en ekstern vert. OGSÅ KJENT SOM SSH nøkler. Denne metoden lar deg logge inn på en ekstern vert uten å skrive inn passordet ditt hver gang. For å gjøre dette må du generere et par private / offentlige nøkler på din lokale maskin og sette den offentlige nøkkelen på den eksterne verten.

å generere nøkkelen, bruke programmet ssh-keygen som følger

ssh-keygen -t rsa

dette programmet genererer et par private / offentlige nøkler i katalogen ~/.ssh. Programmet ber først om destinasjonsfilene for tastene, som standard plassert i~/.ssh. Etterpå en passord er forespurt.

Merk: vi anbefaler ikke å la passordet stå tomt. En angriper som får tak i din private nøkkel, kan ellers koble til vertene der du deponerte deg offentlig nøkkel siden passordet er tomt. Velg en lang og kompleks passordfrase.

din private nøkkel er id_rsa (ikke gi den til noen andre), din offentlige nøkkel er id_rsa.pubspilleautomat.

du kopierer den offentlige nøkkelen til en ekstern vert med kommandoen ssh-copy-id

ssh-copy-id -i ~/.ssh/id_rsa.pub $remote_user@$remote_host

nå kan du bare koble til den eksterne verten og passfasen blir bedt om. Når du er ferdig, blir du koblet til den eksterne verten. I tilfelle en ny tilkobling passordet ikke blir bedt om igjen under hele økten.

Keys management

Bruke GUI

Eventuelt er seahorse EN GNOME program som enkelt administrere krypteringsnøkler og passord gjennom et intuitivt Grafisk Brukergrensesnitt (GUI). Seahorse er i stand til å gjøre ulike operasjoner. For eksempel opprette SSH eller PGP nøkler, konfigurere dem, og cache dem. Les mer.

Sikring

SSH-Server

SOM standard ER EN SSH-server relativt sikker. Med hjelp av noen gode rutiner, konfigurasjonsalternativer og eksterne verktøy er det mulig å gjøre det enda vanskeligere for ‘roboter’ og crackere

God praksis MED SSH Server

  • /!\ Bruk openssh-server sikkerhetsoppdateringer så snart som mulig. Som gjør det mulig å beskytte mot kjente sikkerhetshull.

  • Aktiver ssh-nøkler godkjenning bare med passord/passord. Deaktiver passord bare godkjenning.

  • Vurder å bruke fail2ban som er en loggfilmonitor som automatisk forbyr EN IP-adresse etter et forhåndsdefinert antall mislykkede påloggingsforsøk. Som automatisk beskytter mot brute-force angrep.

  • Mer god praksis for bruk av ssh på https://lackof.org/taggart/hacking/ssh/

Konfigurasjonsalternativer

(!) man bør redigere filen / etc / ssh / sshd_config for å endre parametrene og deretter starte ssh-serveren på nytt med

service ssh restart
  • Deaktiver ved hjelp av passord for godkjenning (PasswordAuthentication no).

  • Deaktiver ved hjelp av rotkontoen (PermitRootLogin no).

  • tillat bare pålogging av bestemte brukere eller grupper (AllowUsers og AllowGroups)

{i} alternativene AllowUsers og AllowGroups forbedrer ikke sikkerheten til EN SSH-server. Men i visse tilfeller tillater deres bruk å motstå et brute force-angrep litt lenger.

Eksterne Verktøy

  • fail2ban: gjør det mulig å automatisk svarteliste Ip-er som forsøker å brute force EN SSH-server ved hjelp av iptables.

  • denyhosts : som fail2ban tillater denyhosts å blokkere IP-adresser som prøver å brute tvinge en tilkobling til ssh. Men i motsetning til fail2ban bruker den ikke iptables, men filen /etc/hosts.nekte.

SSH-Klient

God praksis MED SSH-Klient

  • /!\ Bruk openssh-client sikkerhetsoppdateringer så snart som mulig. Som gjør det mulig å beskytte mot kjente sikkerhetshull.

  • Bruk ssh-nøkler godkjenning. I stedet for passordautentisering.

  • Legg sterke passord / passordfraser TIL SSH-tastene. Dette reduserer risikoen for brute-force angrep.

Tilleggsfunksjoner

Se filer I GUI

i fil ledere Som Konqueror, Dolphin, Krusader og Midnight Commander du kan bruke FISK til å vise filer I ET GUI hjelp:

fish://username@server_name_or_ip

Ekstra Kommandoer

scp

scp er et kommandolinjeverktøy som tillater å overføre filer mellom to maskiner.

  • Sende en fil:
scp $source_file $remote_user@$remote_host:$destination_file
  • Kopiere en fil til den lokale maskinen:
scp $remote_user@$remote_host:$source_file $destination_file

sftp

tekstmodus

grafisk modus

clustersh

ssh-agent og ssh-add

ssh-agent er et nyttig verktøy for å administrere private nøkler og deres passord. De fleste skrivebordsmiljøer I Debian vil allerede være konfigurert til å kjøre ssh-agent (gjennom systemd user services eller /etc/X11/Xsession), så du trenger ikke å starte det manuelt.

# Check if ssh-agent is runningenv | grep -i ssh

du må fortsatt be agenten om å administrere nøklene dine.

# List keys managed by the agentssh-add -l# Add your ssh keyssh-add ~/.ssh/your_private_key

når en privat nøkkel først trengs, blir du bedt om passordet. ssh-agent vil da huske nøkkelen slik at passordet ditt ikke blir spurt lenger.

nøkkelring

Nøkkelring, levert av pakken nøkkelring, er et skallskript som tillater å bruke ssh-agenten i flere økter på samme datamaskin. I kraft etter første start ssh-agent skaper en permanent socket slik at kommunikasjon med ssh. Denne kontakten refereres bare i miljøet i økten der agenten ble startet. Nøkkelring gjør det mulig å oppdage agenten og forplante tilgangen til denne agenten til andre økter; dette gjør det mulig å bruke en enkelt forekomst av ssh-agent per bruker på en maskin.

ssh-askpass

ssh-askpass er et verktøy for å bare spørsmålet om passordet til en privat nøkkel når du bruker den. Flere implementeringer eksisterer:

  • x11-ssh-askpass: versjon For X11

  • kaskpass: integrering av ssh-askpass i kde-miljøet

  • ssh-askpass-gnome : integrasjon av ssh-askpass i Gnome-miljøet

libpam-usb

libpam-usb er et verktøy (kun tilgjengelig opp Til Debian Jessie) som tillater autentisering med EN USB-pinne. Denne pakken inneholder en nyttig utilty: pamusb-agent. Dette verktøyet, når det er riktig konfigurert, gjør det mulig å laste SSH-tastene som er tilstede på USB-pinnen når den er koblet til og å laste dem ut når den er koblet fra.

Eksterne kommandoer

hvis du bare vil kjøre en kommando på den eksterne datamaskinen, trenger du ikke å logge inn. Du kan fortelle ssh å kjøre kommandoen uten innlogging, for eksempel,

ssh $remote_user@$remote_host 'ls *.txt'

viser alle filer med forlengelse .txt på den eksterne datamaskinen. Dette fungerer med single tick quotes’…»som vist her, med doble kryss sitater»…», og uten anførselstegn. Det kan være forskjeller mellom disse tre tilfellene, men ennå ikke dokumentert her.

SSH til Debian fra et ANNET OS

  • PuTTY er en terminal emulator program som kan fungere som en klient for ssh. Det er mye brukt Av Windows-brukere.

  • Wikipedia har Sammenligning_of_ssh_clients

God PRAKSIS MED SSH-bruk

du må lese dette: https://lackof.org/taggart/hacking/ssh/

dette dokumentet oppsummerer mange gode praksiser som vanlige SSH-brukere bør følge for å unngå å kompromittere sikkerheten til kontoene sine (og hele maskinen samtidig).

Konfigurer din~/.ssh / config for å sende bare den riktige nøkkelen.

Host master.debian.org User account IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes

Feilsøking

OpenSSL versjon mismatch. Bygget mot 1000105f, har du 10001060

hvis du får en feilmelding som dette når du starter ssh-demonen, må du kjøre:

apt install openssh-server openssh-client

Se også feil #732940.

SSH henger

Problem

du prøver Å SSH til en ekstern datamaskin. Men under SSH log-in sesjonen henger / fryser på ubestemt tid. Dermed er du ikke presentert med ledeteksten. OG du kan ikke bruke NOEN SSH-kommandoer :( når DU bruker SSH-feilsøkingsmodus, henger økten på denne linjen debug2: kanal 0: åpne bekreft rwindow 0 rmax 32768

Mulig årsak

med noen rutere bak NAT og Når Du bruker OpenSSH. Under øktoppsett, etter at passordet er gitt, Angir OpenSSH tos-feltet (type tjeneste) I IP-datagrammet. Ruteren choke på dette. Effekten er at SSH-økten din henger på ubestemt tid. MED ANDRE ord, SSH kommandoer eller tilkoblinger er sjelden fungerer eller ikke fungerer i det hele tatt.

Oppløsning Med IPQoS 0x00

Til ruterprodusenten fikser fastvaren. Her er ett alternativ for å løse dette problemet:

  1. Dobbeltsjekk openssh-server og openssh-klient versjon er 5.7 eller nyere. For eksempel bør oppløsningen nedenfor fungere Med Debian 7.11 Wheezy eller nyere som Den kommer Med OpenSSH versjon 6.0.

  2. Rediger en av følgende to filer plassert på:

    ~/.ssh/config

    eller

    /etc/ssh/ssh_config

    merk: config-filen er per bruker og ssh_config-filen er for alle brukere og hele systemet. Hvis usikker redigere riktig bruker config fil.

    filinnhold før

    Host *

    filinnhold etter

    Host * IPQoS 0x00
  3. Hvis Du har Et Terminal / Konsollvindu(er) som allerede er åpent. Lukk dem alle helt. Dette vil lukke alle aktive SSH-økter.
  4. Du trenger ikke å starte OpenSSH eller Debian på Nytt. Prøv IGJEN Å SSH til en ekstern server. Det burde fungere. Ferdig du har løst det problemet :)

    Takk Til Joe og catmaker for dette tipset :)

    Relatert dokumentasjon på https://www.openssh.com/txt/release-5.7

oppløsning med netcat

/!\ ADVARSEL: det anbefales å vurdere å bruke den andre oppløsningen Med IPQoS 0x00 i stedet for å bruke netcat / ProxyCommand nc % h % p-alternativet. Fordi IPQoS 0x00 er det offisielle innebygde OpenSSH-alternativet. Også IPQoS 0x00 Er En mer direkte måte å løse det problemet på, og potensielt sikrere alternativ. Fordi IPQoS 0x00 bruker SSH innebygde kryptering for sikre overføringer. Sammenlign med netcat er ikke krypterte overføringer. Kilder: 1 2. Hvis du velger å bruke netcat / ProxyCommand nc %h % p alternativet les videre.

Et annet alternativ for å løse PROBLEMET MED SSH henger er Å bruke ProxyCommand nc %h % p. For å gjøre det, følg de samme trinnene som ovenfor oppløsning Med IPQoS 0x00. Men erstatt IPQoS 0x00 med

ProxyCommand nc %h %p

Hold SSH-tilkobling i live

av sikkerhetshensyn lukkes EN SSH-tilkobling automatisk etter en angitt tidsperiode. Men i noen tilfeller vil du holde den forbindelsen åpen. Slik som skylagring over SSH-tilkobling.

/!\ ADVARSEL: før du aktiverer alternativet behold SSH-tilkobling i live. Det anbefales å vurdere å sikre BÅDE SSH-Klienten og SSH-Serveren. Fordi det for eksempel er en risiko for at hvis brukerne lar SIN SSH-økt åpen, og datamaskinen uten tilsyn og ulåst. Alle kan nærme seg den datamaskinen, og deretter utnytte den åpne SSH-tilkoblingen. For eksempel ved å bruke kommandoen passwd, og endre passordet. Og dermed få tilgang til serveren. Med andre ord, før du aktiverer alternativet keep SSH connection alive, anbefales det å bruke din beste dømmekraft og gode sikkerhetspraksis.

For Debian 7.x server

Trinn for å holde SSH-tilkobling i live.

på SSH-serveren rediger/etc/ssh / sshd_config-filen og legg til følgende nederst i filen.

# Keep client SSH connection alive by sending every 300 seconds a small keep-alive packet to the server in order to use ssh connection. 300 seconds equal 5 minutes.ClientAliveInterval 300 # Disconnect client after 3333 "ClientAlive" requests. Format is (ClientAliveInterval x ClientAliveCountMax). In this example (300 seconds x 3333) = ~999,900 seconds = ~16,665 minutes = ~277 hours = ~11 days.ClientAliveCountMax 3333

som rotbruker starter SSH-tjenesten PÅ NYTT:

service sshd restart

Vær oppmerksom på at på nyere Debian-systemer (F.Eks. 2015), fungerer kommandoen ovenfor ikke lenger og returnerer feilen:

sudo service sshd restartsshd: unrecognized service

imidlertid fungerer følgende:

sudo service ssh restart Restarting OpenBSD Secure Shell server: sshd.

Se også

  • skjerm-terminal multiplekser MED VT100 / ANSI terminal emulering

  • tmux-alternativ terminal multiplexer

Kategorinettverk Kategoriprogramvare

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.