SSH

käännös(s): Deutsch – English – Français – Italiano – Español – Português Brasileiro

ToDo: Yhdistä (ja käännä) tämä sivu ja ranskankielinen (täydellisempi)

Johdanto

SSH tulee sanoista Secure Shell ja se on protokolla suojattuun etäkirjautumiseen ja muihin suojattuihin verkkopalveluihin1. Katso Wikipedia-Secure Shell yleisempää tietoa ja ssh, lsh-client tai dropbear SSH ohjelmistototeutuksia, joista OpenSSH on suosituin ja käytetyin2. SSH korvaa salaamattomat telnet, rlogin ja rsh ja lisää monia ominaisuuksia.

tässä dokumentissa käytetään OpenSSH-komentosarjaa, oletetaan myös, että seuraavat kaksi muuttujaa on määritelty:

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

Jos siis haluat käyttää alla olevia reseptejä, aseta nämä muuttujat ensin etätietokoneen nimeen ja kyseisen etätietokoneen käyttäjänimeen. Sitten leikkaa ja liitä komentoja alla pitäisi toimia. remote_host voi olla myös IP-osoite.

asennus

asiakkaan asennus

normaalisti asiakas asennetaan oletusarvoisesti. Jos ei se riittää ajaa root:

apt install openssh-client

palvelimen asennus

palvelin mahdollistaa etäyhteyden ja asennetaan ajamalla pääkäyttäjänä:

apt install openssh-server

asetustiedostot

tärkeimmät asetustiedostot ovat hakemistossa / etc / ssh :

  • ssh_config : asiakkaan asetustiedosto

  • sshd_config: palvelimen asetustiedosto

lisäksi tämä hakemisto sisältää yksityisen / julkisen avaimen parit, jotka tunnistavat isäntäsi :

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

OpenSSH 5.73: n jälkeen saatavilla uusi yksityinen / julkinen avainpari:

  • ssh_host_ecdsa_key
  • ssh_host_ecdsa_key.pub

OpenSSH 6.54: n jälkeen saatavilla uusi yksityinen / julkinen avainpari:

  • ssh_host_ed25519_key
  • ssh_host_ed25519_key.pub

uudistavat isäntäavaimet

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

Etätunnus

salasanalla

jos haluat kirjautua $remote_hostiin käyttäjänä $remote_user yksinkertaisesti kirjoita

ssh $remote_user@$remote_host

ja kirjoita sitten salasanasi.

jos paikallisen ja etätietokoneen käyttäjätunnukset ovat identtiset, voit pudottaa $remote_user@-osan ja yksinkertaisesti kirjoittaa

ssh $remote_host

jos tämä on ensimmäinen kerta, kun kirjaudut etätietokoneeseen, ssh kysyy, haluatko varmasti muodostaa yhteyden etätietokoneeseen. Vastaus ’Kyllä’ Kun olet vahvistanut etätietokoneen sormenjälki, kirjoita salasana, ja ssh yhdistää sinut etäpalvelimeen.

yhteisten avainten käyttäminen

yksi ssh: n toiminnoista on yksityisen/julkisen avaimen käyttäminen yhteyden muodostamiseen etäpalvelimeen. Tunnetaan myös nimellä SSH keys. Tämän menetelmän avulla voit kirjautua etäpalvelimeen kirjoittamatta salasanaa joka kerta. Voit tehdä tämän sinun täytyy luoda pari yksityistä / julkista avainta paikalliselle koneelle ja tallettaa julkinen avain etäpalvelimeen.

voit luoda avaimen käyttämällä ohjelmaa ssh-keygen seuraavasti

ssh-keygen -t rsa

tämä ohjelma luo parin yksityisiä/julkisia avaimia hakemistoon ~/.Sh. Ohjelma kysyy ensin avainten kohdetiedostot, oletuksena~/.Sh. Tämän jälkeen pyydetään salauslauseke.

Huom: salauslausetta ei kannata jättää tyhjäksi. Hyökkääjä, joka saa käsiinsä yksityisen avaimesi, voi muuten muodostaa yhteyden niihin isäntiin, joihin talletit julkisen avaimen, koska salauslause on tyhjä. Valitse pitkä ja monimutkainen salauslause.

yksityinen avaimesi on id_rsa (älä anna sitä jollekin muulle), Julkinen avaimesi on id_rsa.pubi.

kopioit julkisen avaimen etäpalvelimelle komennolla ssh-copy-id

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

nyt voit muodostaa yhteyden yksinkertaisesti etäpalvelimeen ja salasanaa pyydetään. Kun valmis, saat yhteyden etäpalvelimeen. Jos kyseessä on uusi yhteys, salauslausetta ei pyydetä uudelleen koko istunnon aikana.

avainten hallinta

GUI

valinnaisesti Seahorse on GNOME-sovellus, joka helposti hallinnoi salausavaimia ja salasanoja intuitiivisen graafisen käyttöliittymän (GUI) avulla. Seahorse pystyy tekemään erilaisia operaatioita. Kuten Luo SSH – tai PGP-avaimia, määritä ne ja kätke ne. Lue lisää.

turvaaminen

SSH-palvelin

oletuksena SSH-palvelin on suhteellisen turvallinen. Joidenkin hyvien käytäntöjen, konfigurointivaihtoehtojen ja ulkoisten apuohjelmien avulla on mahdollista tehdä vielä vaikeammaksi ”roboteille” ja crackers

hyvät käytännöt SSH-palvelimella

  • /!\ ota OpenSSH-palvelimen tietoturvapäivitykset käyttöön mahdollisimman pian. Joka mahdollistaa suojautumisen tunnetuilta tietoturva-aukoilta.

  • aktivoi SSH-avainten todennus vain salasanoilla/salasanakehyksillä. Poista vain salasanatodennus käytöstä.

  • harkitse fail2ban joka on lokitiedosto näyttö, joka automaattisesti kieltää IP-osoitteen jälkeen ennalta määritetyn määrän epäonnistuneita kirjautumisyrityksiä. Joka automaattisesti suojaa brute-force hyökkäyksiä.

  • Lisää hyviä käytäntöjä ssh: n käyttöön https://lackof.org/taggart/hacking/ssh/

Asetusasetukset

(!) on muokattava tiedostoa / etc / ssh / sshd_config muuttaaksesi parametreja ja sitten Käynnistä ssh-palvelin uudelleen

service ssh restart
  • Poista salasanojen käyttäminen tunnistautumiseen (PasswordAuthentication no).

  • Poista käytöstä root-tilin (PermitRootLogin no).

  • salli vain tiettyjen käyttäjien tai ryhmien kirjautuminen (Sallijat ja sallitut ryhmät)

{i} options AllowUsers ja AllowGroups eivät paranna SSH-palvelimen turvallisuutta. Mutta tietyissä tapauksissa niiden käyttö mahdollistaa vastustaa brute force hyökkäys hieman kauemmin.

ulkoiset palvelut

  • fail2ban: mahdollistaa automaattisesti mustalle listalle IPs yrittää raa ’ asti pakottaa SSH-palvelimen avulla iptables.

  • denyhosts : kuten fail2ban, denyhosts mahdollistaa estää IP-osoitteita yrittää raa ’ asti pakottaa yhteyden ssh. Mutta toisin kuin fail2ban se ei käytä iptables, mutta tiedosto / etc / isännät.kieltää.

SSH-asiakas

hyvät käytännöt SSH-asiakkaan kanssa

  • /!\ ota OpenSSH-client security updates käyttöön mahdollisimman pian. Joka mahdollistaa suojautumisen tunnetuilta tietoturva-aukoilta.

  • käytä SSH-avainten todennusta. Salasanatodennuksen sijaan.

  • lisää vahvoja salasanoja / salasanafraaseja SSH-avaimiisi. Tämä vähentää brute-force-iskujen riskiä.

lisätoiminnot

näytä tiedostoja graafisessa käyttöliittymässä

tiedostonhallinnassa kuten Konqueror, Dolphin, Krusader ja Midnight Commander voit käyttää Fishiä tiedostojen tarkasteluun käyttöliittymässä:

fish://username@server_name_or_ip

lisäkomennot

scp

scp on komentorivityökalu, joka mahdollistaa tiedostojen siirtämisen kahden koneen välillä.

  • Tiedoston lähettäminen:
scp $source_file $remote_user@$remote_host:$destination_file
  • kopioidaan tiedostoa paikalliseen koneeseen:
scp $remote_user@$remote_host:$source_file $destination_file

sftp

Tekstitila

graafinen tila

clusterssh

ssh-agentti ja ssh-add

ssh-agentti on hyödyllinen apuohjelma yksityisten avainten ja niiden salasanojen hallintaan. Useimmat Debianin työpöytäympäristöt on jo asetettu ssh-agentin ajamiseen (systemd-käyttäjäpalvelujen tai /etc/X11/Xsession-palvelun kautta), joten sinun ei tarvitse käynnistää sitä manuaalisesti.

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

sinun on edelleen käskettävä agenttia hallitsemaan avaimiasi.

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

kun yksityistä avainta tarvitaan ensimmäisen kerran, pyydetään sen salasana. ssh-agentti muistaa sitten avaimen, jotta salasanaasi ei enää kysytä.

avaimenperä

avaimenperä on komentotulkkikirjoitus, joka mahdollistaa ssh-agentin käytön saman tietokoneen useissa istunnoissa. Ensimmäisen käynnistyksen jälkeen ssh-agentti luo pysyvän pistorasian, joka mahdollistaa viestinnän ssh: n kanssa. Tähän pistorasiaan viitataan vain sen istunnon ympäristössä, jossa agentti aloitettiin. Avaimenperä mahdollistaa agentin tunnistamisen ja tämän agentin käytön levittämisen muihin istuntoihin; tämä mahdollistaa yhden SSH-agentin käytön käyttäjää kohti koneessa.

ssh-askpass

ssh-askpass on apuohjelma, jolla yksinkertaisesti kysytään yksityisen avaimen salasanaa sitä käytettäessä. Toteutuksia on useita:

  • x11-ssh-askpass: versio X11: lle

  • kaskpass: ssh-askpassin integrointi KDE-ympäristöön

  • ssh-askpass-gnome : ssh-askpassin integrointi Gnome-ympäristöön

libpam-usb

libpam-usb on apuohjelma (saatavilla vain Debian Jessieen asti), joka mahdollistaa todennuksen USB-tikulla. Tämä paketti sisältää hyödyllisen hyödykkeen: pamusb-agent. Tämä apuohjelma, kun oikein määritetty, mahdollistaa ladata SSH avaimet läsnä USB-tikku, kun se on kytketty ja purkaa ne, kun se on irrotettu.

etäkomennot

jos haluat suorittaa vain yhden komennon etätietokoneessa, sinun ei tarvitse kirjautua sisään. Voit käskeä ssh: ta suorittamaan komennon ilman kirjautumista, esimerkiksi,

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

luettelee kaikki laajennetut tiedostot .txt etätietokoneessa. Tämä toimii yhden rasti lainausmerkit”…”kuten tässä on esitetty, tuplarasti lainausmerkkejä”…”, ja ilman sitaatteja. Näiden kolmen tapauksen välillä saattaa kuitenkin olla eroja, joita ei ole vielä dokumentoitu täällä.

SSH Debianiin toisesta käyttöjärjestelmästä

  • PuTTY on pääte-emulaattorisovellus, joka voi toimia ssh: n asiakkaana. Windows-käyttäjät käyttävät sitä laajalti.

  • Wikipedia has Comparison_of_SSH_clients

SSH: n käytön hyvät käytännöt

lue tämä: https://lackof.org/taggart/hacking/ssh/

tämä asiakirja tiivistää monia hyviä käytäntöjä, joita tavallisten SSH-käyttäjien tulisi noudattaa, jotta he eivät vaarantaisi tiliensä (ja koko koneen turvallisuutta samanaikaisesti).

Määritä ~/.ssh / config lähettää vain oikean avaimen.

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

Vianetsintä

OpenSSL: n versio ei täsmää. Sisäänrakennettu 1000105f: ää vastaan, sinulla on 10001060

jos saat tällaisen virheviestin käynnistäessäsi ssh-taustaprosessia, sinun on suoritettava:

apt install openssh-server openssh-client

Katso myös bug #732940.

SSH roikkuu

kysymys

yrität SSH: ta etätietokoneeseen. Mutta SSH kirjautumisen aikana istunto roikkuu / jäätyy loputtomiin. Näin et ole esitetty komentorivi. Ja et voi käyttää SSH-komentoja : ( käytettäessä SSH-debug-tilaa istunto roikkuu tällä rivillä debug2: channel 0: avaa vahvista rwindow 0 rmax 32768

mahdollinen syy

joillakin reitittimillä NAT: n takana ja käytettäessä OpenSSH: ta. Istunnon asennuksen aikana, kun salasana on annettu, OpenSSH asettaa TOS (palvelutyyppi) – kentän IP-datagrammiin. Reititin tukehtuu tähän. Vaikutus on, että SSH istunto roikkuu loputtomiin. Toisin sanoen SSH-komennot tai-yhteydet toimivat harvoin tai eivät toimi lainkaan.

resoluutio IPQoS 0x00

kunnes reitittimen valmistaja korjaa firmwarensa. Tässä on yksi vaihtoehto ratkaista tämä ongelma:

  1. Tarkista OpenSSH-palvelimen ja OpenSSH-client versio on 5.7 tai uudempi. Esimerkiksi alla olevan päätöslauselman pitäisi toimia Debian 7.11 Wheezyn kanssa tai uudemman, kuten OpenSSH version 6.0 kanssa.

  2. muokkaa yhtä seuraavista kahdesta tiedostosta, jotka sijaitsevat osoitteessa:

    ~/.ssh/config

    tai

    /etc/ssh/ssh_config

    Huomautus:config-tiedosto on käyttäjäkohtainen ja ssh_config-tiedosto on tarkoitettu kaikille käyttäjille ja koko järjestelmälle. Jos et ole varma, muokkaa sopivaa käyttäjän config-tiedostoa.

    tiedoston sisältö ennen

    Host *

    tiedoston sisältö jälkeen

    Host * IPQoS 0x00
  3. jos sinulla on jokin pääte / konsoli ikkuna(t) jo auki. Sulkekaa ne kaikki. Näin suljetaan kaikki aktiiviset SSH-istunnot.
  4. ei tarvitse käynnistää Opensshia tai Debianiasi uudelleen. Yritä uudelleen SSH mihin tahansa etäpalvelimeen. Sen pitäisi toimia. Done olet onnistuneesti korjannut tämän ongelman :)

    Kiitos Joe ja catmaker tästä vinkistä :)

    asiaan liittyvät asiakirjat osoitteessa https://www.openssh.com/txt/release-5.7

resoluutio netcatin kanssa

/!\ varoitus: on suositeltavaa harkita kyseisen toisen resoluution käyttöä IPQoS 0x00: lla sen sijaan, että käytettäisiin netcat/ProxyCommand NC %h %p-asetusta. Koska IPQoS 0x00 on virallinen sisäänrakennettu OpenSSH vaihtoehto. Myös IPQoS 0x00 on suorempi tapa ratkaista tämä ongelma, ja mahdollisesti turvallisempi vaihtoehto. Koska IPQoS 0x00 käyttää SSH: n sisäänrakennettua salausta turvallisiin siirtoihin. Vertaa netcatin salaamattomiin siirtoihin. Lähteet: 12. Jos haluat käyttää netcat / ProxyCommand NC %h %p-asetusta, jatka lukemista.

toinen vaihtoehto SSH hangs-ongelman ratkaisemiseksi on käyttää Proxycommandia NC %h %p. Voit tehdä niin noudattaa samoja vaiheita kuin edellä päätöslauselman IPQoS 0x00. Mutta korvaa IPQoS 0x00: lla

ProxyCommand nc %h %p

pidä SSH-yhteys elossa

turvallisuussyistä oletuksena SSH-yhteys suljetaan automaattisesti tietyn ajan kuluttua. Mutta joissakin tapauksissa haluat pitää sen yhteyden auki. Kuten pilvitallennus SSH-yhteyden yli.

/!\ varoitus: ennen kuin aktivoit, pidä SSH-yhteys elossa-vaihtoehto. On suositeltavaa harkita turvata sekä SSH asiakas ja SSH palvelin. Koska esimerkiksi, on olemassa riski, että jos käyttäjät jättävät SSH istunto auki, ja heidän tietokoneensa valvomatta ja lukitsematta. Kuka tahansa voi lähestyä tuota tietokonetta ja sitten hyödyntää sitä avointa SSH-yhteyttä. Esimerkiksi käyttämällä passwd-komentoa, ja vaihda salasana. Ja siten päästä palvelimelle. Toisin sanoen, ennen aktivointia, jotka pitävät SSH-yhteyden elossa vaihtoehto, on suositeltavaa käyttää parasta harkintaa ja hyviä turvallisuuskäytäntöjä.

Debianille 7.x-palvelin

vaiheet SSH-yhteyden pitämiseksi elossa.

SSH-palvelimella edit /etc/ssh/sshd_config-tiedostoa ja lisää tiedoston alaosaan seuraava.

# 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

pääkäyttäjänä Käynnistä SSH-palvelu uudelleen:

service sshd restart

huomaa, että viimeaikaisissa Debian-järjestelmissä (esim.Wheezy 7 nykyisillä päivityksillä marraskuusta lähtien. 2015), yllä oleva komento ei enää toimi ja palauttaa virheen:

sudo service sshd restartsshd: unrecognized service

kuitenkin seuraavat teokset:

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

Katso myös

  • näyttöliittimen multiplekseri VT100 / ANSI-liittimen emuloinnilla

  • tmux-vaihtoehtoinen terminaali-multiplekseri

CategoryNetwork CategorySoftware

Vastaa

Sähköpostiosoitettasi ei julkaista.