Oversettelse(er): Deutsch – engelsk – Fran@ais – Italiano – Españ Brasileiro
ToDo: slå sammen (og oversette) denne siden og den franske (mer komplett)
- Introduksjon
- Installasjon
- Installasjon av klienten
- Installasjon av serveren
- Konfigurasjonsfiler
- Regenererende vertsnøkler
- Ekstern pålogging
- med passord
- bruke delte nøkler
- Keys management
- Bruke GUI
- Sikring
- SSH-Server
- God praksis MED SSH Server
- Konfigurasjonsalternativer
- Eksterne Verktøy
- SSH-Klient
- God praksis MED SSH-Klient
- Tilleggsfunksjoner
- Se filer I GUI
- Ekstra Kommandoer
- scp
- sftp
- tekstmodus
- grafisk modus
- clustersh
- ssh-agent og ssh-add
- nøkkelring
- ssh-askpass
- libpam-usb
- Eksterne kommandoer
- SSH til Debian fra et ANNET OS
- God PRAKSIS MED SSH-bruk
- Feilsøking
- OpenSSL versjon mismatch. Bygget mot 1000105f, har du 10001060
- SSH henger
- Oppløsning Med IPQoS 0x00
- oppløsning med netcat
- Hold SSH-tilkobling i live
- For Debian 7.x server
- Se også
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)
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:
-
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.
-
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
- Hvis Du har Et Terminal / Konsollvindu(er) som allerede er åpent. Lukk dem alle helt. Dette vil lukke alle aktive SSH-økter.
-
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