Yhdistä virtuaalipalvelimeen SSH:n ja SFTP:n kautta. Yhteyden muodostaminen palvelimeen SSH:n ja SFTP:n kautta Yhdistäminen ssh:n kautta puttyn kautta

Mikä on SSH ja miksi tarvitset sitä?

Secure Shell (SSH) on verkkoprotokolla, joka tarjoaa shell-toimintoja etäkoneessa suojatun kanavan kautta. SSH sisältää useita tietoturvaparannuksia, mukaan lukien käyttäjän/isännän todennus, tietojen salaus ja tietojen eheys, mikä tekee suosituista hyökkäyksistä, kuten salakuuntelusta, DNS/IP-huijauksesta, tietojen väärentämisestä ja yhteyden kaappauksesta mahdottomaksi. jne. Ftp-, telnet- tai rlogin-käyttäjät, jotka käyttävät Protokolla, joka siirtää tietoja selkeänä tekstinä, on erittäin suositeltavaa vaihtaa SSH:han.

OpenSSH on avoimen lähdekoodin toteutus lähdekoodi SSH-protokolla, jonka avulla voit salata verkkoyhteyden ohjelmien avulla. Jos haluat käyttää SSH:ta Linuxissa, voit asentaa OpenSSH:n, joka koostuu OpenSSH-palvelimesta ja asiakaspaketeista.

OpenSSH-palvelin/asiakaspakettien mukana tulee seuraavat apuohjelmat:

  • OpenSSH-palvelin: sshd (SSH-daemon)
  • OpenSSH-asiakas: scp (suojattu etäkopio), sftp (suojattu tiedostonsiirto), slogin/ssh (suojattu etäkirjautuminen), ssh-add (yksityisen avaimen täydennys), ssh-agent (todennusagentti), ssh-keygen (todennusavainten hallinta) ).
OpenSSH-palvelimen ja asiakkaan asentaminen Linuxiin

Jos haluat asentaa OpenSSH-palvelimen/asiakkaan ja määrittää OpenSSH-palvelimen käynnistymään automaattisesti, noudata seuraavia ohjeita, jotka vaihtelevat jakelun mukaan.

Debian, Ubuntu tai Linux Mint

$ sudo apt-get install openssh-server openssh-client

Debian-pohjaisissa järjestelmissä OpenSSH käynnistyy automaattisesti asennuksen jälkeen. Jos OpenSSH-palvelin ei jostain syystä käynnisty automaattisesti järjestelmän käynnistyksen yhteydessä, voit suorittaa seuraavan komennon lisätäksesi ssh:n järjestelmän käynnistykseen.

$ sudo update-rc.d ssh oletusasetukset

Fedora tai CentOS/RHEL 7

$ sudo yum -y asenna openssh-palvelin openssh-clients $ sudo systemctl käynnistä sshd-palvelu $ sudo systemctl ota sshd.service käyttöön

CentOS/RHEL 6

$ sudo yum -y asentaa openssh-palvelin openssh-clients $ sudo-palvelu sshd aloitus $ sudo chkconfig sshd päällä

Arch Linux

$ sudo pacman -Sy openssh $ sudo systemctl käynnistä sshd-palvelu $ sudo systemctl ota sshd.service käyttöön

OpenSSH-palvelimen asennus

Jos haluat määrittää OpenSSH-palvelimen, voit muokata järjestelmän laajuista asetustiedostoa, joka sijaitsee /etc/ssh/sshd_config.

On olemassa pari OpenSSH-vaihtoehtoa, jotka voivat olla kiinnostavia:
Oletuksena sshd kuuntelee porttia 22 ja kuuntelee saapuvia ssh-yhteyksiä. Muutamalla ssh:n oletusporttia voit estää erilaisia ​​automaattisia hakkerihyökkäyksiä.
Jos koneessasi on useampi kuin yksi fyysinen verkkoliitäntä, kannattaa tarkistaa, mikä niistä on liitetty sshd:hen. Tätä varten voit käyttää ListenAddress-vaihtoehtoa. Tämä vaihtoehto auttaa parantamaan turvallisuutta rajoittamalla saapuvan SSH:n vain tiettyyn rajapintaan.

HostKey /etc/ssh/ssh_host_key

HostKey-vaihtoehto määrittää, missä henkilökohtainen isäntäavain sijaitsee.

PermitRootLogin no

PermitRootLogin-vaihtoehto – voiko root kirjautua järjestelmään ssh:n kautta.

Sallitut käyttäjät alice bob

AllowUsers-vaihtoehdon avulla voit poistaa ssh-palvelun käytöstä tietyiltä Linux-käyttäjiltä. Voit määrittää useita käyttäjiä välilyönnillä erotettuina.

Kun tiedosto /etc/ssh/sshd_config on muutettu, muista käynnistää ssh-palvelu uudelleen.

OpenSSH:n käynnistäminen uudelleen Debianissa, Ubuntussa tai Linux Mintissä:

$ sudo /etc/init.d/ssh käynnistyy uudelleen

OpenSSH:n käynnistäminen uudelleen Fedorassa, CentOS/RHEL 7:ssä tai Arch Linuxissa:

$ sudo systemctl käynnistä sshd.service uudelleen

OpenSSH:n käynnistäminen uudelleen CentOS/RHEL 6:ssa:

$ sudo-palvelu sshd käynnistyy uudelleen

Kuinka muodostaa yhteys SSH:hon

Yhdistäminen SSH:hon Linuxista

Linux-käyttäjien ei tarvitse asentaa lisäohjelmia.

Yhdistäminen SSH:hon Windowsista

Vierailta piilossa

.

Cygwin on enemmän kuin pelkkä SSH-asiakas. Se on tehokas yhdistäjä, joka tukee monia Linux-komentoja. Esimerkiksi Cygwin tekee SSL-varmenteiden luomisesta erittäin helppoa (kuten Linuxissa). Windowsissa itse allekirjoitettujen sertifikaattien luomiseksi sinun on tanssittava tamburiinin kanssa. Cygwin on erittäin kätevä käyttää cURL (ei tarvitse asentaa mitään erikseen) jne. Niille, joilla se puuttuu Windowsissa komentorivi ja Linux-ohjelmat löytävät kanavan Cygwinissä.

Cygwinin asentaminen on helppoa. Mennään

Vierailta piilossa

Ja lataa

Vierailta piilossa

Vierailta piilossa

Pieni tiedosto latautuu - tämä on asennusohjelma. Graafinen asennusohjelma. Vaikka se sisältää suuren määrän vaihtoehtoja, ne ovat kaikki melko yksinkertaisia ​​ja monet ovat tuttuja muista graafisista asentajista. Jos jokin on epäselvää, napsauta "Seuraava". Ehkä vain seuraava ikkuna voi aiheuttaa sekaannusta:

Kaikki asennettavat elementit on esitetty tässä. Meidän ei tarvitse ymmärtää niitä juuri nyt. Koska suosituimmat on jo merkitty asennettavaksi. Ja jos jotain puuttuu tulevaisuudessa, voit helposti asentaa tarvitsemasi.

SSH-yhteys (yleinen Linuxille ja Windowsille)

Linux-käyttäjät avaavat konsolin, Windows-käyttäjät kirjoittavat Cygwin.

SSH tarvitsee seuraavat tiedot muodostaakseen yhteyden:

  • IP tai isäntänimi
  • porttinumero
  • Käyttäjätunnus
  • käyttäjän salasana
Kaksi näistä parametreista SSH voi arvata: käyttäjänimi ja portin numero. Jos porttia ei ole määritetty, oletusportti oletetaan. Jos käyttäjää ei ole määritetty, käytetään samaa nimeä kuin järjestelmässä, josta yhteys muodostetaan. Esimerkiksi yhteyden isäntäosoite on 192.168.1.36. Jos soitan

Ssh 192.168.1.36

Näen seuraavan

Alex@mial-pc ~ $ ssh 192.168.1.36 isännän "192.168.1.36 (192.168.1.36) aitous" voi "määrittää. ECDSA-näppäimen sormenjälki on SHA256: Sixzesuiivoeq00rxaqhxylxuea8sc5r/yphl8wfp8s. kyllä ​​ei)?

Koska muodostan yhteyden isäntään ensimmäistä kertaa, se on tuntematon isäntä. He kysyvät minulta, haluanko jatkaa. Soitan Joo:

Varoitus: "192.168.1.36" (ECDSA) lisätty pysyvästi tunnettujen isäntien luetteloon. [sähköposti suojattu]"salasana:

Okei, isäntä 192.168.1.36 on lisätty tuttujen isäntien luetteloon. Minulta pyydetään salasanaa käyttäjälle Alex. Koska palvelimella ei ole sellaista käyttäjää SSH:lla, mutta napsautan Ctrl+C(rikkoa) ja anna komento yhdessä etäjärjestelmän käyttäjänimen kanssa. Käyttäjä syötetään ennen etäkoneen osoitetta ja erotetaan osoitteesta @-symbolilla. @-symboli englanniksi luetaan muodossa at ja se voidaan kääntää "in". Nuo. ennätys [sähköposti suojattu] voidaan tulkita "mial-käyttäjäksi koneessa 192.168.1.36".

Ssh [sähköposti suojattu]

Alex@MiAl-PC-kutsu korvattiin mial@mint-kutsulla. Tämä tarkoittaa, että olemme jo etäkoneella, eli olemme jo muodostaneet yhteyden. Jos haluat määrittää portin (jos se eroaa tavallisesta), portti on määritettävä -p-kytkimen jälkeen. Esimerkiksi näin:

Ssh [sähköposti suojattu]-p 10456

Yhteyden muodostamisen jälkeen meitä tervehditään seuraavalla tavalla:

Linux mint 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 Debian GNU/Linux -järjestelmän mukana tulevat ohjelmat ovat ilmaisia ​​ohjelmistoja; kunkin ohjelman tarkat jakeluehdot on kuvattu yksittäisissä tiedostoissa hakemistossa /usr/share/doc/*/copyright. Debian GNU/Linuxilla ei ole MITÄÄN TAKUUTA sovellettavan lain sallimissa rajoissa. Viimeisin kirjautuminen: ti 16. kesäkuuta 15:32:25 2015 alkaen 192.168.1.35

Tästä seuraa, että etäkone on Linux Mint, jossa on ydin 3.16, 64-bittinen versio. Myös tärkeää tietoa viimeisimmän kirjautumisen ajasta ja IP-osoitteesta, josta yhteys muodostettiin. Jos aika ja IP ovat sinulle tuntemattomia ja olet ainoa käyttäjä, järjestelmäsi on vaarantunut ja sinun on ryhdyttävä tarvittaviin toimiin.

Kirjoita muutama komento varmistaaksemme, missä olemme ja keitä olemme: pwd, [B]uname -a jne.:

Lopeta istunto (kirjaudu ulos) valitsemalla

Tai napsauta Ctrl+D.

Kirjaudu SSH:hon syöttämättä salasanaa

Ensinnäkin se on vain kätevämpää. Toiseksi se on turvallisempaa.

Ensin meidän on luotava rsa-avaimet. Jos olet Linux-käyttäjä, olet kunnossa. Jos olet Windows-käyttäjä, mutta et kuunnellut neuvojani ja valitsit PuTTY:n, sinulla on ongelma ja mieti itse, kuinka ratkaista se. Jos sinulla on Cygwin, kaikki on myös kunnossa.

Jos onnistuit kirjautumaan sisään etäjärjestelmään, kirjaudu ulos. Kirjoita sen jälkeen

Ssh-keygen -t rsa

Meiltä kysytään tiedostonimeä, meidän ei tarvitse syöttää mitään, oletusnimeä käytetään. Se pyytää myös salasanaa. En syötä salasanaa.

Nyt meidän on luotava etäkoneelle .ssh-hakemisto. Komennon suorittamista etäkoneella käsitellään alla. Toistaiseksi kopioi vain komento, unohtamatta muuttaa IP-osoitetta ja käyttäjätunnusta omaksi:

Ssh [sähköposti suojattu] mkdir.ssh

Nyt meidän on kopioitava id_rsa.pub-tiedoston sisältö etäkoneeseen. Tämä on erittäin helppo tehdä (älä unohda muuttaa tietoja omiksi):

Cat .ssh/id_rsa.pub | ssh [sähköposti suojattu]"kissa >> .ssh/authorized_keys"

Nyt vain kirjaudumme sisään ja he eivät enää kysy meiltä mitään salasanaa. Ja näin tulee aina olemaan nyt.

Komentojen suorittaminen etäpalvelimella luomatta komentotulkkiistuntoa

Sen lisäksi, että ssh avaa shell-istunnon etäjärjestelmässä, voit myös suorittaa yksittäisiä komentoja etäjärjestelmässä. Jos esimerkiksi haluat suorittaa puukomennon etäisännässä nimeltä remote-sys ja näyttää tulokset paikallisessa järjestelmässä, toimi seuraavasti:

Ssh remote-sys puu

Varsinainen esimerkkini:

Ssh [sähköposti suojattu] puu

Tällä tekniikalla voit tehdä mielenkiintoisia asioita, kuten suorittaa ls-komennon etäjärjestelmässä ja ohjata tulosteen paikallisen järjestelmän tiedostoon:

Ssh remote-sys "ls *" > dirlist.txt

Todellinen esimerkki:

Ssh [sähköposti suojattu]"ls *" > dirlist.txt cat dirlist.txt

Huomaa yksittäiset lainausmerkit yllä olevassa komennossa. Tämä tehdään, koska emme halua, että polkua laajennetaan paikallinen kone; koska tarvitsemme tämän suorituksen etäjärjestelmässä. Lisäksi, jos haluamme ohjata vakiotulosteen etäkoneen tiedostoon, voimme laittaa uudelleenohjauskäskyn ja tiedoston nimen lainausmerkkeihin:

Ssh remote-sys "ls * > dirlist.txt"

Vakiolähdön siirto paikalliselta koneelta etäkoneelle ssh:n kautta

Yhtä mielenkiintoinen vaihtoehto komentojen suorittamiseen annetaan hieman korkeammalla:

Cat .ssh/id_rsa.pub | ssh [sähköposti suojattu]"kissa >> .ssh/authorized_keys"

  • Cat-komento lukee rivi riviltä ja näyttää paikallisessa koneessa olevan .ssh/id_rsa.pub-tiedoston sisällön.
  • | (pipe) välittää sen, mikä näkyy vakiolähdössä toiselle komennolle.
  • Komennon sijaan, joka käsittelee sille välitetyt merkkijonot, muodostetaan yhteys etäjärjestelmään (ssh [sähköposti suojattu]).
  • Päällä etäjärjestelmä saapuvat rivit, joille on annettu cat >> .ssh/authorized_keys -komento. Nuo. vakiotulosteen sisältö kirjoitetaan rivi riviltä etäkoneessa olevaan .ssh/authorized_keys-tiedostoon.
Etätietokoneessa olevan grafiikkaohjelman avaaminen

Seuraava temppu vaatii kaksi Linux-tietokonetta. Valitettavasti jopa Cygwin ei voi käsitellä tätä temppua. Lisäksi molemmissa Linux-järjestelmissä tulee olla graafinen käyttöliittymä.

Tunnelointi SSH:lla

Kun yhteys muodostetaan etäisäntään SSH:n kautta, tapahtuu muun muassa salatun tunnelin luominen, joka muodostuu paikallisen ja etäjärjestelmän välille. Tyypillisesti tätä tunnelia käytetään varmistamaan, että paikalliseen koneeseen kirjoitetut komennot siirretään turvallisesti etäkoneeseen, ja tulos lähetetään myös turvallisesti takaisin.

Tämän perustoiminnon lisäksi SSH-protokolla mahdollistaa useimpien liikennetyyppien lähettämisen salatun tunnelin kautta, mikä luo eräänlaisen VPN:n (virtuaalinen yksityinen verkko) paikallisen ja etäjärjestelmän välille.

Ehkä yleisimmin käytetty näistä ominaisuuksista on kyky lähettää X Window -järjestelmien liikennettä. Järjestelmässä, jossa on X-palvelin (nämä ovat koneita, joissa on graafinen käyttöliittymä), on mahdollista ajaa X-asiakasohjelma (graafinen sovellus) etäjärjestelmässä ja nähdä sen toiminnan tulokset paikallisessa järjestelmässä. Se on helppo tehdä. Haluan esimerkiksi muodostaa yhteyden etäisäntään remote-sys ja siinä haluan suorittaa xload-ohjelman. Samalla voin nähdä tämän ohjelman graafisen tulosteen paikallisella tietokoneella. Tämä tehdään näin:

Ssh -X remote-sys xload

Todellinen esimerkki:

Ssh -X [sähköposti suojattu] gedit

Nuo. SSH alkaa kytkimellä -X. Ja sitten ohjelma vain käynnistyy. Katso kuvakaappaus.

Käytän Kali Linuxia. Kirjautuminen etätietokoneeseen onnistui SSH:n kautta. Sen jälkeen suoritin gedit-ohjelman. Tämä ohjelma ei ehkä ole edes Kali Linuxissa, mutta se on ehdottomasti Linux Mintissä, johon liityin. Näen tämän ohjelman tuloksen näytöllä ikään kuin ohjelma olisi käynnissä paikallisesti. Mutta jälleen kerran, haluan sinun ymmärtävän tämän, paikallisessa tietokoneessa ei ole käynnissä gedit-ohjelmaa. Jos haluan tallentaa geditin (tai muun tällä tavalla avatun ohjelman) tuloksen, käy ilmi, että se toimii etätietokoneen ympäristössä, näkee sen tiedostojärjestelmän jne. Tämä on kätevää, kun haluat määrittää etätietokone graafisen käyttöliittymän avulla.

Opit kuvan siirtämisen koko työpöydältä samassa artikkelissa myöhemmin, osiossa "VNC:n määrittäminen SSH:n kautta".

Joissakin järjestelmissä tämä temppu vaatii -Y-vaihtoehdon käyttämisen -X-vaihtoehdon sijaan.

Kopiointi etätietokoneelta/etätietokoneelle (scp ja sftp)

scp

OpenSSH-paketti sisältää myös kaksi ohjelmaa, jotka käyttävät salattua SSH-tunnelia tiedostojen kopioimiseen verkon yli. Ensimmäinen ohjelma - scp("suojattu kopio") - käytetään useammin, kuten samanlainen cp-ohjelma tiedostojen kopioimiseen. Huomattavin ero on, että tiedoston lähde voi olla etäisäntä, jota seuraa kaksoispiste ja tiedoston sijainti. Jos esimerkiksi halusimme kopioida asiakirjan nimeltä document.txt kotihakemistostamme paikallisen järjestelmämme nykyisen työhakemiston remote-sysiin, voisimme tehdä näin:

Scp remote-sys:document.txt . document.txt 100 % 177 0,2 kt/s 00:00

Todellinen esimerkki:

# poista tiedosto paikalliselta koneelta, jos se on olemassa rm dirlist.txt # luo tiedosto etäkoneelle ssh [sähköposti suojattu]"ls * > dirlist.txt" # tarkista sen olemassaolo ssh [sähköposti suojattu]"ls -l" # kopioi se paikalliselle koneelle scp [sähköposti suojattu]:dirlist.txt. # tarkista sen sisältö cat dirlist.txt

  • [sähköposti suojattu]- käyttäjätunnus ja etäisäntä,
  • . (piste) tarkoittaa, että tiedosto on kopioitava etäpalvelimen nykyiseen työhakemistoon, mutta tiedoston nimi pysyy samana, eli nfile.txt
  • Muistio:

    Tiedoston kopioiminen paikasta B paikkaan A, kun olet kirjautunut sisään B:hen:
    scp /polku/tiedoston käyttäjätunnus@a:/polku/kohteeseen
    Tiedoston kopioiminen B:stä A:een kirjautuneena A:hen:
    scp käyttäjänimi@b:/polku/tiedostoon /polku/kohteeseen

    sftp

    Toinen ohjelma tiedostojen kopioimiseen SSH:n kautta on sftp. Kuten nimestä voi päätellä, se on turvallinen ftp-ohjelman korvaava. sftp toimii kuten alkuperäinen ftp-ohjelma. Tekstin lähettämisen sijaan se käyttää kuitenkin salattua SSH-tunnelia. Sftp:n tärkeä etu ftp:hen verrattuna on, että se ei vaadi käynnissä olevaa FTP-palvelinta etäisännässä. Se vaatii vain SSH-palvelimen. Tämä tarkoittaa, että mitä tahansa etäkonetta, joka on kytketty SSH-asiakkaan kautta, voidaan käyttää myös FTP-tyyppisenä palvelimena. Tässä esimerkki istunnosta:

    Alex@MiAl-PC ~ $ sftp [sähköposti suojattu] Yhdistetty verkkoon 192.168.1.36. sftp> ls dirlist.txt uusitiedosto.txt nfile.txt temp Videot Asiakirjat Lataukset Kuvat Musiikki Julkinen työpöytämallit sftp> lls dirlist.txt nfile.txt sftp> ls temp temp/TakeMeHome sftp> cd temp/TakeMeHome sftp> cd temp/sfp> mial/temp/TakeMeHome to TakeMeHome sftp> hei

    SFTP-protokollaa tukevat monet graafiset tiedostonhallintaohjelmat, joita löytyy Linux-jakeluista. Käyttämällä sekä Nautilusta (GNOME) että Konqueroria (KDE) voimme syöttää URI:t (linkit), jotka alkavat sftp://:llä hyppypalkkiin ja käsitellä tiedostoja, jotka sijaitsevat etäjärjestelmässä, jossa on SSH-palvelin.

    Hei! Olen kiinnostunut kysymyksestä: kuinka muodostaa yhteys SSH:n kautta kotitietokoneeseesi Internetin kautta. Minulla on FreeSSHd-palvelin asennettuna kotiin. Ymmärtääkseni minun täytyy jotenkin avata portti 22 ulkoisessa IP:ssä? Alex

    Kyllä, tarve tulee usein esiin. Puhuin tuossa artikkelissa monista asioista, mutta tässä puhumme yksinomaan SSH:sta, koska Alex tarjosi meille ystävällisesti tämän mahdollisuuden. Sitä paitsi olen itsekin erittäin kiinnostunut SSH:sta, ja täällä se on myös Windowsissa... mmm.

    Mikä on SSH ja miksi sitä tarvitaan?

    Pointti on, että SSH on S turvallinen SH ell. Protokolla suojattua pääsyä ohjauskuoreen. Siksi se tarjoaa pääsyn erityisesti komentoriville, koska Shell käännetään nimellä kuori ja tässä merkityksessä tekstinhallintakuori. Mutta yleensä tämä protokolla on huomattava siitä, että se sallii kaiken muun liikenteen kulkemisen sen sisällä ja salatussa muodossa. Näin ollen suojatun yhteyden protokolla tiedostojärjestelmä kutsutaan SFTP:ksi ja toimii SSH:n päällä. Mutta se voi tunneloida mitä tahansa muita yhteyksiä - olipa se sitten HTTP tai jopa RDP. Pohjimmiltaan se osoittautuu "VPN:ksi polvella".

    Täällä Alex on jo tehnyt puolet työstä, hän asensi ja käynnisti sen kotitietokone FreeSSHd. Tämän avulla voit muodostaa yhteyden Windowsiin SSH:n kautta. Tässä tapauksessa "sallii" sanotaan erittäin voimakkaasti. Koska tämä ratkaisu toimii jotenkin Windowsissa. Ensinnäkin siinä ei ole kunnollista tekstikäyttöliittymää - komentoriviä hallintaa varten.

    Ainakin tavallinen - cmd - antaa sinun tehdä vähän etäkoneen kanssa. On myös Powershell - tämä on nykyaikaisempi ja tehokkaampi ratkaisu. Freesshd antaa sinun vaihtaa konsolin powershelliksi, mutta en saanut yhteyttä siihen. Yhdistin CMD:hen - mutta se on täysin käyttökelvoton:

    Toiseksi FreeSSHd:n tapauksessa en pystynyt muodostamaan yhteyttä Windows-tietokoneeseen edes paikallisverkon kautta, puhumattakaan Internetin kautta yhdistämisestä. Tai pikemminkin on mahdollista muodostaa yhteys, mutta palvelu jäätyy ja kaatuu; et voi hallita Windows-isäntä tällä tavalla.

    Siksi oletan, että Alex tarvitsi ssh-palvelimen Windowsissa muodostaakseen yhteyden tiedostojärjestelmään tai käyttääkseen sitä VPN:nä välityspalvelinta SSH:n kautta. Vaikka epäilen, että FreeSSHd sallii tämän. Koska kolmanneksi: se ei edes tallenna asetuksia; kun käynnistät palvelun uudelleen, kaikki menee pieleen. Yleisesti ottaen toivon todella, että Alex kertoo meille kommenteissa, miksi hän tarvitsi tätä.

    Kuinka muuten voit käyttää SSH:ta Windowsissa?

    On olemassa toimivampi ratkaisu - Powershelserver. Vaikka siinä on myös bugeja, se ei ainakaan kaadu. Siksi suosittelen sen käyttämistä yhteyden muodostamiseen SSH:n kautta Windows-palvelimiin.

    Ensinnäkin se toimii vakaasti ilman kaatumisia. Ja sen kautta voit todella ohjata Windowsia powershellin kautta.

    Kaikki asetukset tallennetaan normaalisti. Samat toiminnot ovat saatavilla kuin FreeSSHd:ssä ja vielä enemmän - voit käyttää SCP:tä - tämä on tiedostojen kopiointi SSH:n kautta.

    Mutta tyylikkäin asia on konsoli! Se toimii, herrat!

    Yhdistin helposti, ilman käyttäjien lisäämistä (tämä on tehtävä freesshd:ssä). Ja tuo yksinkertaisin komento reititystaulukon tarkastelu toimi täydellisesti ja antoi tarvittavat tiedot. Frisssh "satui" minulle juuri kun yritin katsella netstat -rn:ää

    Täällä voit todella nähdä, että venäläisiä merkkejä ei näytetä. Joten sen määrittäminen kanssamme on helppoa, asetan vain tarvitsemani koodauksen powershellserveriin, käynnistän uudelleen, yhdistän uudelleen...

    Koodauksen asettaminen Powershellserverissä

    Nyt meillä on täysi SSH ja voimme hallita Windowsia täysin konsolin kautta.

    Microsoft luo oman SSH-ratkaisunsa

    Muuten, Microsoft ilmoitti jo kesällä, että se aikoo kehittää syntyperäinen SSH-tuki Powershellille uusissa Windows-versioissa. Habressa ja pcweekissä (ja muissa) on uutisia. Siksi voimme vain odottaa tätä maamerkkitapahtumaa, koska se on todella läpimurto työssä heterogeeniset verkot.

    En tarkistanut muita toimintoja - sftp ja scp, mutta jostain syystä olen varma, että ne toimivat myös hyvin.

    Kuinka avata SSH-portti ulkopuolelta?

    Joten olemme tulleet salaiseen asiaan, jota varten tämä artikkeli alun perin aloitettiin. Vastaan ​​lukijan kysymykseen.

    Portin edelleenlähetys reitittimessä tai modeemissa

    Jos haluat muodostaa yhteyden tietokoneeseen ulkopuolelta, sinun on todella tehtävä NAT tai tietyssä tapauksessa . Kuinka tämä tehdään, riippuu yhdyskäytävänä käytettävästä laitteesta. Tämä voi olla ADSL-modeemi tai . Useimmissa tapauksissa yksityiskohtaiset ohjeet laitteellesi löytyvät helposti kyselyillä, kuten "port forwarding laite_malli" tai "portin edelleenlähetys laite_malli»

    Tältä se näyttää Zyxel Keenetic Lite -kotireitittimessäni:

    Ja tältä se näyttää ADSL-modeemilla, jossa on Linksys WAG200G -reitittimen toiminnot käsillä:

    Lisäksi joidenkin palveluntarjoajien kanssa tämä ei ehkä ole teknisesti mahdollista, koska he eivät tarjoa "valkoista" .

    Portin välittäminen etäpalvelimelle SSH-tunnelin avulla

    Tässä tapauksessa voi olla mahdollista muodostaa yhteys SSH:n kautta ainoa tapa— paikalliselta Windows-koneelta (sama, johon haluamme muodostaa yhteyden SSH:n kautta) etäpalvelimeen. Tässä tapauksessa sinulla on oltava SSH-yhteys johonkin Internetin palvelimeen.

    "Käänteisen" SSH-tunnelin asettaminen

    Tällainen edelleenlähetys voidaan tehdä helposti käyttämällä yksinkertaista SSH-asiakas Putty (on myös) Sitten voit muodostaa yhteyden tähän hyvin etäpalvelimeen edelleenlähetetyn portin kautta.

    Tässä on pohjimmiltaan silmukka. Avaamme SSH-istunnon Windowsista etäpalvelimelle ja tämän yhteyden sisällä tunneloimme itse Windows Powershellserverin (tai FreeSSHd:n) SSH-portin etäpalvelimen paikalliseen porttiin 3322. Ja samassa istunnossa yhdistämme nyt takaisin Windowsiin Powershellissä tämän saman portin 3322 kautta... Toivottavasti et ole sekaisin. Mutta... Tämä on taikuutta, ystävät! :) SSH-tunnelit on erikoinen maailma, niiden avulla voi tehdä uskomattomia asioita, avata sellaisia ​​ovia, että kaikki vartijat itkisi katkerasti, jos he yhtäkkiä saisivat tietää tästä kaikesta....

    No, jos sinun on jaettava Windowsin SSH-portti maailman kanssa, riittää, että määrität ip_server:3322 määränpääksi käänteisen tunnelin asetuksissa. Voit muodostaa yhteyden Windowsiin SSH:n kautta mistä tahansa, missä on pääsy tähän palvelimeen.

    Kuinka tarkistaa, onko portti välitetty oikein?

    Erittäin yksinkertainen. Sinun on tarkistettava, onko se auki. SSH:n tapauksessa avoin portti vastaa viestillä sen versiosta. Suurin osa yksinkertaisin tapa portin tarkistus - telnet-apuohjelma.

    Kirjoita komentoriville välilyönnillä erotettuna:

    telnet domain_or_IP-portti

    Jos portti on käytettävissä, näet jotain tällaista:

    SSH-vastaus, jos portti on käytettävissä

    Jos portti ei jostain syystä ole käytettävissä, näet joko "yhteys hylätty" tai "yhteyden aikakatkaisu". Ensimmäisessä tapauksessa se on välitön ja tarkoittaa, että portti on suljettu palomuurilla.

    Toisessa tapauksessa se näyttää "jumiutumiselta" ja voi kestää useita minuutteja - telnet-asiakas yrittää muodostaa yhteyden. Tämä voi tarkoittaa myös estämistä palomuurilla, mutta eri tyyppistä. Joko vain, että määritetty isäntä ei ole käytettävissä tai sen portti on suljettu.

    Jos pystyit muodostamaan yhteyden Telnetin kautta, paina näppäinyhdistelmää Ctrl+] ja enter lopettaa, sitten Enter. Muuten et voi keskeyttää istuntoa ja sinun on avattava uusi konsoli-ikkuna, jos tarvitset sitä edelleen.

    Tämä artikkeli on merkitty keskeneräiseksi. Katso huomautus artikkelin lopusta.

    Tämä artikkeli on omistettu Ubuntun suojatun terminaalin (secure shell) asiakkaalle ja palvelimelle, niiden määritykselle ja käytölle. SSH on erityinen verkkoprotokolla, jonka avulla voit saada etäyhteyden tietokoneeseen korkeatasoisella yhteyssuojauksella. Voit lukea lisää ssh-protokollasta.

    Toimintaperiaatteiden ja käytettyjen sovellusten kuvaus

    Periaatteessa SSH on toteutettu kahden sovelluksen muodossa - SSH-palvelin ja SSH-asiakas, Ubuntu käyttää SSH-asiakkaan ja -palvelimen ilmaista toteutusta - OpenSSH. Yhteyttä muodostettaessa asiakas käy läpi valtuutusmenettelyn palvelimen kanssa ja niiden välille muodostetaan salattu yhteys. OpenSSH-palvelin voi toimia sekä ssh1- että ssh2-protokollien kanssa. Ssh1-protokollaa pidetään tällä hetkellä turvattomana, ja sen käyttöä ei suositella. Jätän tietoisesti pois protokollan erilaisia ​​teknisiä yksityiskohtia, koska tämän oppaan päätarkoituksena on kuvata sen konfiguraatiota ja käyttöä. Internetissä on monia artikkeleita itse protokollasta, sen toimintaperiaatteista, salausalgoritmeista jne., Voit lukea siitä esimerkiksi yksityiskohtaisesti.

    Asennus

    Asentaa OpenSSH Voit käyttää komentoa terminaalista:

    sudo apt-get install ssh

    Ssh-metapaketti sisältää sekä asiakkaan että palvelimen, mutta tämä todennäköisesti asentaa vain palvelimen, koska asiakas on jo oletuksena mukana Ubuntussa.

    Palvelimen viritys

    klo SSH asennus-palvelin rekisteröidään automaattisesti käynnistyksen yhteydessä. Voit ohjata sen käynnistystä, pysäyttämistä tai uudelleenkäynnistystä komennoilla:

    sudo-palvelu ssh stop| aloita| uudelleenkäynnistää

    SSH-palvelimen pääasetustiedosto on /etc/ssh/sshd_config-tiedosto, jota vain pääkäyttäjä voi lukea tai muokata. Jokaisen tähän tiedostoon tehdyn muutoksen jälkeen sinun on käynnistettävä ssh-palvelin uudelleen, jotta muutokset voidaan ottaa käyttöön.

    Esimerkki SSH-palvelimen oletuskokoonpanosta Ubuntussa:

    # Esimerkki avoimen ssh-palvelimen kokoonpanosta venäjän # # kommenteilla..2010. # # # # # # Legenda : # # "Oletusarvolla" tarkoitamme sshd:n toimintaa, kun # # direktiiviä ei ole erikseen määritelty. On syytä huomata, että Ubuntussa # # sshd_config-tiedosto sisältää jo useita asetuksia, jotka # # ovat Ubuntun oletusasetukset. # # Tällaiset asetukset on määritetty tässä tiedostossa. # # # ############################################### ############# ################ Osoite/porttiasetukset jne. ########### ####################################### # ##################### # # ## Portti ####################### ### ############################ # # # # Portti käytetty. Voit määrittää useita, esimerkiksi: # # Portti 22 # # Portti 23 # # Portti 24 # # On suositeltavaa käyttää ei-standardista porttia, koska Botit tarkistavat usein # # standardin mahdollisten # # reikien varalta. Voidaan jättää pois, jos määritetään # # osoitteen kautta. Katso myös ListenAddress-parametri. # # # Portti 22 # # ## Kuunteleosoite ######################################## ### # # # Verkkoosoite, jota palvelin kuuntelee. Osoite voidaan # # kirjoittaa näin: # # ListenAddress host|IPv4_addr|IPv6_addr # # ListenAddress host|IPv4_addr:port # # ListenAddress :port # # Jos porttia ei ole määritetty, sshd kuuntelee tätä osoitetta ja # # Portti-vaihtoehdossa määritetty portti. Jos # # käytät ListenAddress-osoitetta määrittämättä porttia, # # Port-vaihtoehdon on edeltävä ListenAddress-vaihtoehtoa. Jos # # ei ole määritetty, kuuntelee oletusarvoisesti kaikkia paikallisia # # osoitteita. Voit määrittää useita osoitteita. # # # ## OsoitePerhe ########################################### # # # Määrittää, mitä IP-osoiteperhettä sshd:n # # tulee käyttää. Mahdolliset vaihtoehdot: # # "mikä tahansa" - mikä tahansa # # "inet" (vain IPv4) # # "inet6" (vain IPv6) # # Oletus - "mikä tahansa". # OsoiteFamily inet # # ## UseDNS ########################################## # ######## # # # Määrittää, tuleeko sshd tarkistaa isäntänimi ja # # käyttää tätä isäntänimeä tarkistaakseen asiakkaan lähettämän IP-osoitteen DNS:ltä vastaanotetun # # osoitteen kanssa. # # Oletusarvo on "yes". # # # ############################################### ############# ############# Käyttäjän käyttöoikeudet ###################### ################################################# ### # # # Käyttäjän salliminen/kielto määräytyy # # DenyUsers-, AllowUsers-, DenyGroups- ja AllowGroups-käskyjen mukaan. # # tässä tapauksessa tarkistus menee ylhäältä alas ketjua pitkin: # # ## DenyUsers ## # # || # # ## AllowUsers ## # # || # # ## DenyGroups ## # # || # # ## AllowGroups ## # # Vain käyttäjien ja ryhmien nimet hyväksytään, numeerisia # # tunnisteita (UserID) ei tunnisteta. Useiden käyttäjien/ryhmien oikea # # tallennus vuorollaan, erotettuna # # välilyönnillä. Jos kirjoitetaan muodossa käyttäjä@isäntä, niin # # käyttäjä ja isäntä tarkistetaan erikseen, mikä sallii # # rajoittaa pääsyn tiettyihin käyttäjiin # # tietyistä isännistä. On syytä muistaa, että # # DenyUsers- ja AllowUsers-käskyt ottavat käyttäjän # # nimen parametrina, kun taas DenyGroups ja AllowGroups ottavat # # ryhmän nimen. Katso KUVIT sovelluksessa man ssh_config saadaksesi # # lisätietoa käyttäjien ja ryhmien nimien tallennuksen lomakkeista. # # # ## DenyUsers ########################################### ### # # # Luettelo käyttäjistä, jotka EIVÄT VOI käyttää sshd:tä. # # Oletus - ei määritetty = ketään ei ole estetty. Nuo. jos # # käyttäjä on määritetty tässä, niin häneltä estetään pääsy # # ssh-palvelimeen. # # # ## AllowUsers ########################################### ## # # # Luettelo käyttäjistä, jotka VOIVAT käyttää sshd:tä, # # Oletuksena - ei määritetty = sallittu kaikille. Nuo. jos # # vähintään yksi käyttäjä on määritetty, ssh-pääsy palvelimeen # # on vain tämän käyttäjän käytettävissä. # # # ## DenyGroups ########################################## ## # # # Luettelo RYHMÄistä, joita sshd EI saa käyttää. # # Oletus - ei määritetty = mikään ryhmä ei ole kielletty. # # Tuo on jos vähintään yksi ryhmä on määritetty, tähän ryhmään kuuluvilta käyttäjiltä # # evätään pääsy ssh # # -palvelimelle. # # # ## AllowGroups ########################################### # # # # Luettelo RYHMÄistä, joita sshd VOI käyttää. # # Oletus - ei määritetty = sallittu kaikille. Nuo. jos # # vähintään yksi ryhmä on määritetty, vain siihen kuuluvat käyttäjät# # saavat pääsyn ssh-palvelimeen.# # # #################### ################################################# ### Vaihtoehdot yhteyden tilan määrittämiseen ########################################## ####### ######################### # # ## TCPKeepAlive ############## ######### ######################### # # # # Ilmaisee, tarvitseeko järjestelmän lähettää TCP-viestejä asiakkaalle # # yhteyden ylläpitämiseksi. Jos lähetät nämä paketit, # # voit määrittää, onko yhteys katkennut. Tämä # # tarkoittaa kuitenkin myös sitä, että yhteys voi katketa ​​hetkellisen reitityskatkon aikana ja # # tämä on joillekin erittäin ärsyttävää. Toisaalta, jos # # tällaisia ​​viestejä ei lähetetä, istunnot palvelimella voivat # # kestää loputtomiin, luoden "haamu" käyttäjiä # # ja ahmimalla palvelinresursseja. Oletusarvo on "yes", # # eli. lähettää tällaisia ​​viestejä. Jos haluat estää # # tällaisten viestien lähettämisen, aseta arvoksi "ei". Aikaisemmin tämän # # vaihtoehdon nimi oli KeepAlive. On syytä huomata, että # # on olemassa turvallisempia tapoja tarkistaa # # yhteyden tila (katso alla). # # # TCPKeepAlive kyllä ​​# # ## ClientAliveCountMax ##################################### # # # Asettaa asiakkaiden viestien määrän, jotka sshd # # lähettää peräkkäin saamatta mitään vastausta # # asiakkaalta. Jos kynnys saavutetaan ja # # asiakas ei vastaa, sshd katkaisee asiakkaan yhteyden ja lopettaa # # ssh-istunnon. On syytä huomata, että tällaisten # # viestien käyttö eroaa täysin TCPKeepAlive-direktiivistä. # # Viestit asiakkaille/asiakkailta lähetetään salattua # # kanavaa pitkin, joten ne eivät ole alttiita huijauksille. Viestit # # TCPKeepAlive ovat alttiita huijauksille. Asiakas elossa # # -mekanismi on erityisen arvokas tapauksissa, joissa palvelin ja asiakas tarvitsevat # # tietää, milloin yhteys on muuttunut epäaktiiviseksi. Oletusarvo # # on 3. Jos ClientAliveInterval # # on asetettu arvoon 15 ja ClientAliveCountMax jätetään # # oletusarvoon, reagoimattomat asiakkaat katkaistaan ​​noin # # 45 sekunnin kuluttua. Tämä ohje toimii vain # # ssh2-protokollalle. # # # ## ClientAliveInterval ######################################## # # # Sarjat aikaväli sekunteina. Jos asiakkaan kanssa ei ole yhteyttä # # tämän ajanjakson aikana, sshd # # lähettää salatun kanavan kautta viestin, jossa pyydetään # # vastausta asiakkaalta. Oletusarvo on 0, ts. # # älä lähetä tällaisia ​​viestejä. Tämä ohje toimii # # vain ssh2-protokollassa. # # # ############################################### ############# ################ Yleiset todennusvaihtoehdot ################# ## ################################################# ######## # # ## AuthorizedKeysFile ##################################### # # # # Määrittää tiedoston, joka sisältää # # käyttäjien todentamiseen käytettävät julkiset avaimet. # # direktiivi voi sisältää muotoa %M olevia tunnuksia, jotka lisätään # # yhteydenmuodostusprosessin aikana. # # Seuraavat tunnukset määritellään: # # %% - korvataan kirjaimella "%" # # %h - korvataan todennetun käyttäjän kotihakemistolla # # # # %u - korvataan todennetun käyttäjän nimellä # # Siten avaintiedosto voidaan määrittää # # absoluuttisella tavalla (eli yksi jaettu tiedosto avaimilla) ja # # dynaamisesti - riippuen käyttäjästä (eli yksi # # tiedosto jokaiselle käyttäjälle). # # Oletus on ".ssh/authorized_keys". # # Esimerkki avaintiedostosta käyttäjän kotikansiossa: # # AuthorizedKeysFile %h/.ssh/authorized_key # # Esimerkki jaetulle tiedostolle: # # AuthorizedKeysFile /etc/ssh/authorized_keys # # Katso Authorized_keys-tiedoston kuvaus lisää tietoa. # # # ## ChallengeResponseAuthentication ########################### # # # # Määrittää, sallitaanko haaste-vastaustodennus # # ). Kaikki # # todennustyypit login.conf:sta ovat tuettuja. Oletus on "yes", # # eli. sallia. # # Ubuntussa - poistettu käytöstä turvallisuussyistä. # # # ChallengeResponseAuthentication ei # # ## HostbasedUsesNameFromPacketOnly ########################## # # # # # # # Määrittää, kuinka palvelimen tulee hankkia asiakkaan isäntänimi # # kun isäntävarmennukseen perustuva todennusjärjestelmä. # # Jos asetukseksi on asetettu "yes", sshd # # käyttää asiakkaan antamaa isäntänimeä etsiessään täsmäävyyttä tiedostoista # # ~/.shosts, ~/.rhosts tai /etc/hosts.equiv. # # (suorittaa käänteisen DNS-resoluution) Jos asetukseksi on asetettu "no"# # - sshd ratkaisee nimen itse TCP-yhteydestä. # # Oletus on "ei". # # # ## IgnoreRhosts ############################################ # # # Estää .rhosts- ja .shosts-tiedostojen käytön # # isäntäpohjaisessa todennuksessa. # # (RhostsRSAAuthentication tai Hostbased Authentication). # # Tiedostot /etc/hosts.equiv ja /etc/ssh/shosts.equiv ovat edelleen # # käytössä. # # Oletus on "kyllä". # # # IgnoreRhosts kyllä ​​# # ## IgnoreUserKnownHosts ##################################### # # # Ilmaisee, pitäisikö sshd jättää huomioimatta käyttäjän # # "tunnetut isännät" -tiedosto ~/.ssh/known_hosts # # isäntäpohjaisen todennusprosessin # # aikana (RhostsRSAAuthentication tai HostbasedAuthentication). # # Oletus on "ei". # # # ## PermitBlacklistedKeys ################################### # # # # # # Ilmaisee, tuleeko sshd hyväksyä avaimet mustalla listalla # # vaarantuneiksi (tunnetut-viantuneet # # avaimet (katso ssh-vulnkey)). Jos asetus on "kyllä" - # # todennusyritystä tällaisilla avaimilla kirjataan # # ja hyväksytään, jos asetettu "ei" - # # todennusyritystä hylätään. # # Oletus on "ei". # # # ## PermitEmptyPasswords ######################################## # # # In sallitun todennuksen tapauksessa käyttämällä salasanaa , # # ilmaisee, onko kirjautuminen tyhjällä salasanalla mahdollista. # # Oletus on "ei". # # # PermitEmptyPasswords ei # # ## PermitRootLogin ######################################## # # # # Osoittaa, onko ssh-kirjautuminen superkäyttäjänä # # (root) mahdollista. Voi ottaa seuraavat arvot: # # “yes” - pääkäyttäjä voi kirjautua sisään. # # nykyistä globaalia todennusjärjestelmää käytetään. # # # # "ilman salasanaa" - pääkäyttäjä voi kirjautua sisään. # # Salasanatodennus poistetaan käytöstä. # # # # "vain pakotetut komennot" - pääkäyttäjä voi kirjautua sisään käyttämällä # # julkiseen avaimeen perustuvaa todennusta ja # # vain, jos hän välittää suoritettavan komennon. # # Tästä on hyötyä varmuuskopioiden tekemisessä, # # vaikka normaali (eli ei ssh:n kautta) # # pääkäyttäjän kirjautuminen on poistettu käytöstä. Kaikki muut pääkäyttäjän todennustavat # # estetään.# # # # "ei" - pääkäyttäjä ei voi # # kirjautua sisään ssh:lla. # # # # Oletusarvo on "yes". # # # PermitRootLogin kyllä ​​# # ## Protocol ####################################### ######## # # # Määrittää, mitä protokollaa sshd:n tulee käyttää. # # Mahdolliset arvot '1' ja '2' ovat ssh1 ja ssh2 # # vastaavasti. Samanaikainen kirjoittaminen on mahdollista, jolloin # # arvot tulee erottaa pilkuilla. # # Oletus on "2.1". # # On syytä huomata, että protokollien järjestys # # merkinnöissä ei määritä prioriteettia, koska asiakas valitsee, mitä # # useista palvelimen ehdottamista protokollista # # käyttää. "2,1" on täysin identtinen # # "1,2"-merkinnän kanssa. # # # Protokolla 2 # # ## KäytäPAM ######################################## ########## # # # Ottaa käyttöön PAM-liitännän (Pluggable Authentication Module # # -liitäntä). Jos asetettu arvoon "kyllä", kaikki todennustyypit # # istunnon ja tilimoduulin käsittelyä lukuun ottamatta # # PAM-todennus käytetään # # haaste-vastauksen (ChallengeResponseAuthentication ja # # PasswordAuthentication) perusteella, koska # # haaste-vastaustodennus PAM:ssa toimii yleensä samassa roolissa # # kuin salasanatodennus, sinun tulee poistaa # # joko PasswordAuthentication tai # # ChallengeResponseAuthentication käytöstä. On syytä huomata, että # # jos UsePAM-direktiivi on käytössä, et voi suorittaa # # sshd:tä muuna käyttäjänä kuin pääkäyttäjänä. # # Oletusarvo on "ei". # # # Käytä PAM:ia kyllä ​​# # ## Salasanatodennus ################################### # # # Ilmaisee onko käytössä, onko todennus # # salasanalla. # # Oletus on "kyllä". # # # ## HostKey ############################################ ##### # # # Määrittää tiedoston, joka sisältää SSH:n käyttämän yksityisen isäntäavaimen # #. Oletusarvo on /etc/ssh/ssh_host_key # # ssh1-protokollalle ja /etc/ssh/ssh_host_rsa_key ja # # /etc/ssh/ssh_host_dsa_key ssh2-protokollalle. # # On syytä huomata, että sshd ei käytä tiedostoa # #, joka on muiden kuin käyttäjän käytettävissä. Voit # # käyttää useita tiedostoja avaimilla, avaimet ovat "rsa1" - # # ssh1-protokollalle ja "dsa"/"rsa" ssh2-protokollalle. # # # HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key # # ############################## ### ############################ ########## SSH-protokollan version 1 (ssh1) asetukset ### ########## ##################################### ### ################### # SSH1-protokollan käyttöä EI SUOSITELTAAN.# # Ssh2-protokolla on paljon turvallisempi kuin ssh1 # ### ######## ########################################## ####### # # ## KeyRegenerationInterval ################################## # # # ssh1-protokolla - kerran tiettynä ajankohtana # # luodaan automaattisesti uusi väliaikainen palvelinavain (jos sellainen on käytetty). Tämä tehdään # # estämään siepattujen istuntojen salauksen purkaminen, jotta # # voidaan myöhemmin kirjautua koneeseen näiden istuntojen parametreilla ja # # varastaa avaimet. Tällaista avainta ei tallenneta minnekään (se on tallennettu # # RAM-muistiin). Tämä ohje määrittää # # avaimen käyttöiän sekunneissa, jonka jälkeen se # # luodaan uudelleen. Jos arvoksi on asetettu 0 - # #, avainta ei luoda uudelleen. # # Oletusarvo on 3600 (sekuntia). # # # KeyRegenerationInterval 3600 # # ## RhostsRSAAuthentication ################################### # # # Ilmaisee, onko todennus perustuu # # rhosts- tai /etc/hosts.equiv-tiedostoihin yhdessä onnistuneen # # isäntätodennuksen kanssa RSA:n kautta. # # Koskee vain ssh1-protokollaa. # # Oletus on "ei". # # # RhostsRSAA-todennus ei # # ## RSAA-todennus ####################################### ## # # # Ilmaisee, onko "puhdas" RSA-todennus sallittu. # # Koskee vain ssh1-protokollaa. # # Oletus on "kyllä". # # # RSAA-todennus kyllä ​​# # ## ServerKeyBits ####################################### ### # # # Määrittää bittien määrän palvelimen väliaikaisessa avaimessa # # ssh1-protokollalle. Minimiarvo on 512. # # Oletusarvo on 1024. # ServerKeyBits 768 # # ################################# # ####################################### SSH-protokollan version 2 (ssh2) vaihtoehdot ## ## ######## ######################################## ### ################## # # ## Salaus ######################## ## ###################### # # # Ilmaisee # # ssh2-protokollalle sallitut salausalgoritmit. Useat algoritmit on erotettava # # pilkuilla. Tuetut algoritmit: # # "3des-cbc", "aes128-cbc", "aes192-cbc", "aes256-cbc", # # "aes128-ctr", "aes192-ctr", "aes256-ctr", " arcfour128", # # "arcfour256", "arcfour", "blowfish-cbc", "cast128-cbc". # # Oletusarvoisesti: # # aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128, # # arcfour256,arcfour,aes192-cbc,aes256-cbc,aes128-ctr, #5-cbc,aes128-ctr, #5-c,192 #c -ctr # # # ## HostbasedAuthentication ################################### # # # Ilmaisee onko todennus käytössä # # isännän vahvistuksen perusteella. rhosts tai /etc/hosts.equiv tarkistetaan, # # ja jos onnistuu, yhdistettynä onnistuneeseen julkisen avaimen tarkistukseen # #, pääsy on sallittu. Tämä direktiivi # # on sama kuin RhostsRSAAuthentication-direktiivi ja # # sopii vain ssh2-protokollalle. # # Oletus on "ei". # # # Hostbased Authentication ei # # ## MACs ####################################### ############ # # # Osoittaa kelvollisen MAC-algoritmin (viesti # # todennuskoodi). ssh2-protokolla käyttää # # MAC-algoritmia tietojen eheyden suojaamiseen. Useat # # algoritmit on erotettava pilkuilla. # # Oletus: # # hmac-md5,hmac-sha1, [sähköposti suojattu],hmac-ripemd160, # # hmac-sha1-96,hmac-md5-96 # # # ## PubkeyAuthentication ########################### ########## # # # Osoittaa, onko # # julkiseen avaimeen perustuva todennus sallittu. Koskee vain ssh2-protokollaa. # # Oletus on "kyllä". # # # PubkeyAuthentication kyllä ​​############################################ # ################ ##################### GSSAPI-asetukset ############ ## ################################################ ## ######################## # # ############ Koskee vain ssh2-protokollaa #### #### ### # # ## GSSAPIAuthentication ###################################### ## # # # Osoittaa onko käyttäjän todennus # # perustunut GSSAPI:iin. Oletusarvo on "ei", ts. kielletty. # # # ## GSSAPIKeyExchange ######################################## # # # Ilmaisee, sallitaanko # # GSSAPI:iin perustuva avainten vaihto. Avainten vaihto GSSAPI:n avulla ei ole riippuvainen # # ssh-avaimet kun varmistat isännän henkilöllisyyden. # # Oletusarvo on "ei" - ts. vaihto kielletty. # # # ## GSSAPICleanupCredentials ############################### # # # # # # Määrittää, tuhotaanko käyttäjän välimuisti automaattisesti # # todennustiedoista, kun # # istunto päättyy. # # Oletusarvo on "kyllä" - ts. on tuhottava. # # # ## GSSAPIStrictAcceptorCheck ################################ # # # # # # Määrittää, kuinka tiukka henkilöllisyyden tarkistuksen tulee olla # # asiakas todennetaan GSSAPI:n kautta. # # Arvo "yes" saa asiakkaan todennuksen # # vastaanottavaan isäntäpalveluun nykyisellä isännällä. Arvo "no" # # mahdollistaa asiakkaan todennuksen millä tahansa # # palveluavaimella. # # Oletusarvo on "kyllä". # # On syytä huomata, että "ei" voi # # toimia vain harvinaisissa Kerberos GSSAPI -kirjastoissa. # # # ############################################### ############# ################### Kerberos-asetukset ################# ########## ######################################## ### ################## # # ## KerberosAuthentication ######################## ### ######## # # # Ilmaisee, vaatiiko käyttäjän todennusta varten # # (PasswordAuthentication) antama salasana vahvistusta Kerberos KDC:ssä. # # Käyttääkseen tätä vaihtoehtoa palvelimen on # # varmistettava, että KDC on tosi. (Palvelin tarvitsee # # Kerberos-palvelinvälilehden, joka mahdollistaa # # KDC:n henkilöllisyyden tarkistamisen) # # Oletus on "ei". # # # ## KerberosGetAFSToken ######################################## # # # Jos AFS on aktiivinen ja käyttäjä on saanut Kerberos 5 TGT:n, # # yritetäänkö hankkia AFS-tunnus ennen kuin käyttäjä # # pääsee kotikansioonsa. # # Oletus on "ei". # # # ## KerberosOrLocalPasswd ################################### # # # # Osoittaa, mitä tehdä, jos Jos todennus # # Kerberosin kautta epäonnistuu. Jos # # arvo = "kyllä", salasana varmistetaan # # millä tahansa paikallisella lisävaltuutusmekanismilla, # # esimerkiksi /etc/passwd. # # Oletus on "kyllä". # # # ## KerberosTicketCleanup ################################### # # # Ilmaisee, lopetetaanko tiedosto automaattisesti # # käyttäjän lippuvälimuisti istunnon lopussa. # # Oletus on "kyllä". # # # ############################################### ############# ################# Uudelleenohjausvaihtoehdot ################### # ## ############################################## ## ############# # # ## AllowAgentForwarding ############################## #### ### # # # Määrittää, sallitaanko vai poistetaanko uudelleenohjaus # # ssh-agentiin. Oletusarvo on "kyllä", ts. sallia. # # On syytä huomata, että uudelleenohjauksen poistaminen käytöstä ei # # lisää turvallisuutta, ellei käyttäjiltä myös # # evätä shell-käyttöä, koska he voivat aina asentaa # # omat agenttivastineensa. # # # ## AllowTcpForwarding ###################################### # # # Ilmaisee, onko sallia tai poistaa käytöstä TCP-uudelleenohjauksen. # # Oletusarvo on "kyllä", ts. sallia. On syytä huomata # #, että kuten AllowAgentForwardingissa, # # uudelleenohjauksen poistaminen käytöstä ei paranna turvallisuutta niin kauan kuin # # käyttäjillä on pääsy konsoliin, koska he pystyvät # # asentamaan analoginsa. # # # # # ## GatewayPorts ########################################## ## # # # Määrittää, sallitaanko etäisäntien käyttää # # edelleenlähetettyjä portteja. Oletusarvoisesti sshd kuuntelee # # yhteyksiä edelleenlähetettyihin portteihin vain paikallisessa # # loopback -rajapinnassa. Tämä estää muita # # etäisäntiä muodostamasta yhteyttä edelleenlähetettyihin portteihin. Voit # # käyttää GatewayPortsia salliaksesi sshd:n # # tehdä tämän. Direktiivi voi ottaa 3 arvoa: # # "no" - vain silmukka. # # "kyllä" - kaikki osoitteet. # # "clientspecified" - asiakkaan määrittämät osoitteet. # # # ## LupaAvaa ########################################### ## # # # Osoittaa, missä TCP-portin edelleenlähetys on sallittu. # # Uudelleenohjauksen määrittämisen on oltava # # seuraavista muodoista: # # PermitOpen host:port # # PermitOpen IPv4_addr:port # # PermitOpen :port # # Useita merkintöjä voidaan määrittää erottamalla ne välilyönneillä. # # Argumenttia "mikä tahansa" voidaan käyttää poistamaan kaikki # # porttiohjauksen rajoitukset. Oletusarvoisesti mikä tahansa # # uudelleenohjaus on sallittu. # # # ## PermitTunnel ########################################### # # # Osoittaa, onko tun-laitteiden uudelleenohjaus sallittu. # # Voi ottaa arvot: # # “yes” # # “point-to-point” (3 verkkokerros) # # "ethernet" (2. verkkokerros) # # "no" # # Arvo "yes" sallii sekä "point-to-point" # # että "ethernet". Oletusarvo on "ei". # # # ############################################### ############# ################## Kirjausvaihtoehdot ################## ### ############################################### ## ############# # # ## SyslogFacility ############################## ## ########## # # # Asettaa lokiobjektikoodin viestien kirjoittamista varten # # syslogiin sshd:stä. Mahdolliset arvot: # # DAEMON # # USER # # AUTH # # LOCAL0 # # LOCAL1 # # LOCAL2 # # LOCAL3 # # LOCAL4 # # LOCAL5 # # LOCAL6 # # LOCAL7 # # Oletus on AUTH. # # # SyslogFacility AUTH # # ## LogLevel ####################################### ### ######## # # # Asettaa sshd-lokin monisanaisuustason. # # Mahdolliset vaihtoehdot: # # SILENT # # QHIET # # FATAL # # ERROR # # INFO # # VERBOSE # # DEBUG # # DEBUG1 # # DEBUG2 # # DEBUG3 # # Oletus on INFO. # # DEBUG ja DEBUG1 vastaavat toisiaan. # # DEBUG2 ja DEBUG3 asettavat korkeimmat virheenkorjaustulokset. Kirjautuminen DEBUG-tasolla uhkaa # # käyttäjän yksityisyyttä, eikä sitä suositella. # # # LogLevel INFO # # ########################################## ################# #################### X11-uudelleenohjaus ############# ######## ########################################## # ################## # # ## X11 Edelleenlähetys ########################## ### ################ # # # Ilmaisee, onko X11-grafiikkaalijärjestelmän # # uudelleenohjaus käytössä. Voi ottaa arvot "kyllä" tai "ei". # # Oletus on "ei". # # Huomio - yksinkertaisen X11-uudelleenohjauksen mahdollistaminen on # # suuri riski sekä palvelimelle että asiakkaille, koska Tällaisessa uudelleenohjauksessa sshd-välityspalvelinnäyttö # # hyväksyy yhteydet mistä tahansa osoitteesta. Käytä # # X11UseLocalhost-direktiiviä rajoittaaksesi pääsyä # # X:n uudelleenohjauspalvelimeen. On syytä huomata, että # # uudelleenohjauksen poistaminen käytöstä ei takaa, että # # käyttäjät eivät voi ohjata X11:tä, koska joilla on # # käyttöoikeus konsoliin, he asentavat aina oman # # uudelleenohjauksensa. X11-uudelleenohjaus poistetaan # # automaattisesti käytöstä, jos UseLogin # # -käsky on käytössä. # # # X11Edelleenlähetys kyllä ​​# # ## X11UseLocalhost ######################################## ### # # # # Ilmaisee, pitäisikö sshd:n rajoittaa # # X11-edelleenlähetyksen laajuutta paikallissilmukkaosoitteeseen vai sallitaanko # # kaikki osoitteet. Oletuksena - sshd # # "istuttaa" X11-uudelleenohjauspalvelimen paikallinen osoite # # ja asettaa DISPLAY-ympäristömuuttujan hostname-osion arvoon # # “localhost”. On syytä huomata, että # # jotkut vanhemmat X11-asiakkaat eivät välttämättä toimi näillä # # asetuksilla. Oletusarvo on "kyllä", ts. uudelleenohjausta # # rajoittaa localhost, arvo "no" poistaa # # rajoitukset käytöstä. # # # ## XAuthLocation ########################################### # # # Määrittää koko polun xauth-ohjelmaan. # # Oletus on /usr/bin/X11/xauth. # # # ## X11DisplayOffset ######################################## # # # Osoittaa ensimmäisen näytön numeron, joka on sshd:n käytettävissä # # X11-uudelleenohjauksena. Tämä tehdään niin, että # # uudelleenohjatut X:t eivät mene päällekkäin # # todellisten X:iden kanssa. Oletusarvo on 10. # # # X11DisplayOffset 10 # # ####################################### ## ######################################### Eri vaihtoehtoja ##### ## ################################################ ##### ############################ # # ## LoginGraceTime ############# ####### ######################## # # # # Aika, jonka jälkeen palvelin katkaisee # # yhteyden käyttäjään, jos hän ei pystynyt kirjaudu sisään # # tyydyttävästi. Arvo 0 - sallii käyttäjän # # kirjautua sisään määräämättömän ajan. Oletusarvo on 120 (sekuntia). # # # LoginGraceTime 120 # # ## MaxAuthTries ####################################### ### #### # # # Osoittaa todennusyritysten enimmäismäärän # # yhteyttä kohti. # # Kun epäonnistuneiden yritysten määrä ylittää puolet # # määritetystä arvosta, kaikki seuraavat yritykset # # kirjataan lokiin. Oletusarvo on 6. # # # ## MaxSessions ###################################### ####### # # # Määrittää samanaikaisten yhteyksien enimmäismäärän # # jokaiselle verkkoyhteydelle. Oletusarvo on 10. # # # ## MaxStartups ####################################### ###### # # # Määrittää samanaikaisten # # luvattomien yhteyksien enimmäismäärän sshd:hen. Jos # # yhteyksien määrä ylittää rajan, kaikki muut # # yhteydet katkaistaan, kunnes nykyiset # # yhteydet on saatu valmiiksi joko onnistuneella valtuutetulla # # tai # # LoginGraceTime-direktiivissä määritetty aika on umpeutunut. Oletusarvo on 10. # # Vaihtoehtoisesti voit asettaa yhteydet nollautumaan aikaisin # # määrittämällä kolme arvoa parametriksi, erotettuina # # kaksoispisteellä "start:rate:full" (esimerkiksi: "10:30" :60"). # # sshd hylkää yhteysyrityksen todennäköisyydellä, joka on # # "nopeus/100" (eli esimerkissämme 30%), jos on jo # # "start" (10) luvatonta yhteyttä. # # Todennäköisyys kasvaa lineaarisesti ja kaikki # # yhteysyritykset hylätään, jos luvattomien # # yhteyksien määrä saavuttaa "täyden" (60). # # # ## Puristus ########################################### # # # # Osoittaa, onko tietojen pakkaus käytössä. Voi olla # # "kyllä" - pakkaus on käytössä. # # "viivästynyt" - pakkaus viivästyy, kunnes # # käyttäjä on todennettu onnistuneesti. # # "ei" - pakkaus on poistettu käytöstä. # # Oletus on "viivästynyt". # # # ## KäytäLogin #### # # # Ilmaisee, tuleeko sisäänkirjautumista käyttää # # interaktiivisessa istunnossa. Oletusarvo on "ei". # # On syytä huomata, että sisäänkirjautumista ei ole koskaan käytetty # # etäkomentojen suorittamiseen. Huomaa myös, että # # sisäänkirjautumisen käyttäminen tekee X11Forwarding-direktiivin # # käyttämisen mahdottomaksi, koska sisäänkirjautuminen ei tiedä mitä # # tehdä xauthilla. Jos # # UsePrivilegeSeparation -käsky on käytössä, se poistetaan käytöstä # # valtuutuksen jälkeen. # # # ## UsePrivilegeSeparation ###################################### # # # Määrittää onko sshd pitäisi erottaa oikeudet. Jos kyllä ​​# #, etuoikeutettu lapsiprosessi luodaan ensin tulevalle verkkoliikenteelle. Onnistuneen # # valtuutuksen jälkeen luodaan uusi prosessi sisäänkirjautuneen käyttäjän oikeuksilla # #. Etuoikeuksien erottelun # # päätarkoitus on estää käyttöoikeuksien väärinkäyttö. # # Oletusarvo on "yes". # # # UsePrivilegeSeparation kyllä ​​# # ## StrictModes ####################################### ### ##### # # # Ilmaisee, tuleeko sshd:n tarkistaa käyttäjän kansioiden ja tiedostojen käyttö- ja # # omistajuustilat ennen kuin # # sallii käyttäjän kirjautua sisään. Tämä johtuu yleensä siitä, että # # aloittelijat tekevät usein tiedostonsa kirjoitettaviksi # # kaikille. Oletus on "kyllä". # # # StrictModes kyllä ​​# # ## AcceptEnv ###################################### ####### # # # Määrittää, mitkä asiakkaan # # välittämät ympäristömuuttujat hyväksytään. Katso SendEnv-vaihtoehto asiakassovelluksessa. # # On syytä huomata, että muuttujien välittäminen on mahdollista # # vain ssh2-protokollalle. Muuttujat määritellään nimellä, # # maskeja voidaan käyttää ('*' ja '?'). Voit määrittää # # useita muuttujia välilyönneillä erotettuina tai jakaa AcceptEnv # # useiksi riveiksi. Ole varovainen - joitakin # # ympäristömuuttujia voidaan käyttää # # ohittamaan kiellettyjä käyttäjäympäristöjä. Käytä tätä # # ohjetta huolellisesti. Oletusarvoisesti # # käyttäjäympäristömuuttujia ei hyväksytä. # # # AcceptEnv LANG LC_* # # ## PermitUserEnvironment ################################### # # # # Määrittää, hyväksyykö sshd:n # # ~/.ssh/environment ja Environment=-vaihtoehdon kohdassa # # ~/.ssh/authorized_keys. Oletusarvo on "ei". On # # syytä huomata, että ympäristön käsittelyn salliminen voi antaa # # käyttäjille mahdollisuuden ohittaa rajoitukset joissakin # # kokoonpanoissa, jotka käyttävät mekanismeja, kuten # # LD_PRELOAD. # # # # # # PidFile ########################################## # ####### # # # Määrittää tiedoston, joka sisältää SSH-demonin prosessitunnuksen # # (prosessitunnus, PID). # # Oletus - /var/run/sshd.pid # # # # # ## PrintLastLog ############################# # ############# # # # Määrittää, näyttääkö sshd:n päivämäärä ja kellonaika viimeisestä istunnosta, kun käyttäjä kirjautuu interaktiivisesti. # # Oletus on "kyllä". # # # PrintLastLog kyllä ​​# # ## PrintMotd ####################################### ####### # # # Määrittää, tuleeko sshd näyttää /etc/motd # #, kun käyttäjä kirjautuu sisään interaktiivisesti. Joissakin # # järjestelmissä (esimerkiksi Ubuntu) tämä tieto näkyy myös # # shellissä. # # Oletusarvo on "yes". # # # PrintMotd no # # ## Banner ######################################## ########## # # # Ilmaisee, mikä tiedosto sisältää tekstibannerin, joka # # näytetään käyttäjälle ENNEN # # todennusta. Vaihtoehto on käytettävissä vain ssh2-protokollalle.# # Oletuksena - ei näytä mitään. # # Ubuntussa issue.net-tiedosto sisältää lauseen Ubuntu (versio), # # esimerkiksi karmicille se on "Ubuntu 9.10". Voidaanko # # käyttää mahdollisten hyökkääjien häiritsemiseen, # # kirjoittamalla sinne esimerkiksi "My D-Link Interet Router" =) # # # Banner /etc/issue.net # # ## ChrootDirectory ###### ##### ############################## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # on todennuksen jälkeen. Polun ja kaiken sen # # sisällön tulee vastata pääkäyttäjän # # omistamia kansioita, eivätkä muut käyttäjät # # saa kirjoittaa niihin. # # Polku voi sisältää tunnisteita, jotka korvataan # # todennusprosessin aikana: # # %% - korvattu kirjaimella "%" # # %h - korvattu todennetun käyttäjän kotihakemistolla # # # # %u - korvataan todennetun käyttäjän nimellä # # chroot -kansion tulee sisältää kaikki käyttäjäistuntoon tarvittavat tiedostot ja # # kansiot. Vuorovaikutteinen # # istunto vaatii vähintään: # # shellin, yleensä sh # # peruslaitteet /dev:ssä, kuten: # # null, zero, stdin, stdout, stderr, arandom ja tty # # tiedonsiirtoistuntoon käyttämällä ei sftp # # Lisäasetukset ei tarvita, jos käytetään # # sisäistä sftp-palvelinprosessia. Katso # # lisätietoja kohdasta Alijärjestelmä. Oletusarvoisesti chroot-toimintoa ei suoriteta. # # # ## ForceCommand ########################################### # # # Aiheuttaa määritetyn komennon suorittamisen. Ohittaa # # kaikki asiakkaan lähettämät tai # # ~/.ssh/rc:lle kirjoitetut komennot. Komento kutsutaan käyttäjän # # komentotulkista optiolla -c. Soveltuu komentotulkin, # #-komennon tai alijärjestelmän käynnistämiseen. Hyödyllisin # # Match -lohkon sisällä. Asiakkaan alun perin antama komento on tallennettu # # ympäristömuuttujaan SSH_ORIGINAL_COMMAND. Jos # # määrität "internal-sftp" -komennon, # # sisäinen sftp-palvelin käynnistetään, joka ei tarvitse # # lisätiedostoja ja -kansioita, jotka on kuvattu ChrootDirectory-direktiivissä. # # # ## Alajärjestelmä ########################################### ### # # # Määrittää ja määrittää ulkoisen alijärjestelmän (esimerkiksi # # tiedostonsiirtodaemonin). # # Argumentit ovat nimi ja komento (mahdollisilla # # argumenteilla), jotka suoritetaan pyydettäessä # # alijärjestelmiä. Komento sftp-server käynnistää "sftp" - # # tiedostonsiirtoalijärjestelmän. Lisäksi voit määrittää # # "internal-sftp" alijärjestelmäksi - joka käynnistää # # sisäisen sftp-palvelimen. Tämä voi yksinkertaistaa huomattavasti # # konfigurointia käytettäessä # # ChrootDirectory-direktiiviä. Oletusarvoisesti alijärjestelmiä # # ei kutsuta. Koskee vain ssh2-protokollaa. # # # Alijärjestelmä sftp /usr/lib/openssh/sftp-server # # ################################# ############################ ##################### Ottelu Estä ################################################## ## #################################### # # # # Siirsin sen erityisesti vuoden loppuun tiedoston helpottamiseksi # # kirjoittaa Match säännöt. # # MadKox. # # # # Match-direktiivi edustaa ehdollisen # # -lohkon alkua. Jos kaikki # # Match -rivillä määritellyt kriteerit täyttyvät, lohkon seuraavien rivien käskyt suoritetaan, # # jolloin # # sshd_config-tiedoston globaalien ohjeiden arvot voidaan ohittaa siinä tapauksessa, että # # Match -direktiivin kriteerit. Lohkoksi katsotaan kaikki rivit, jotka tulevat rivin # # jälkeen kriteerillä (Match - lines) seuraavalle hakuriville # # tai tiedoston loppuun. Match-direktiivin argumentti on yksi tai # # useita kriteerien paria. Mahdolliset merkintätyypit: # # Käyttäjä # # Ryhmä # # Isäntä # # Osoite # # Merkinnät voivat sisältää joko yksittäisiä arvoja # # (esim. User=user) tai useita arvoja\# # pilkuilla erotettuina (User=user1 ,käyttäjä2). Säännöllisiä lausekkeita, jotka on kuvattu ssh_config-tiedoston # # PATTERNS -osassa, voidaan käyttää myös # #. # # Osoiteehtojen merkinnät voivat sisältää osoitteita CIDR # # (Address/Mask Length, esim. "192.0.2.0/24" tai # # "3ffe:ffff::/32") merkinnällä. On syytä huomata, että annetun # # maskin pituuden on vastattava osoitetta, eikä liian # # pitkä/lyhyt osoitteen toimi. # # Match voi käyttää vain # # tiettyä käskyjoukkoa käskynä: # # AllowTcpForwarding # # Banner # # ChrootDirectory # # ForceCommand # # GatewayPorts # # GSSAPIAuthentication # # HostbasedAuthentication # # KbdInteractiveAuthentication # # KbdInteractiveAuthentication # Maxuth #S # KerberosAut # PasswordAuthentication # # PermitOpen # # PermitRootLogin # # RhostsRSAAuthentication # # RSAAuthentication # # X11DisplayOffset # # X11Forwarding # # X11UseLocalHost #

    Voit kopioida yllä olevan tekstin omaan sshd_config -tiedostoosi ja käyttää sitä myöhemmin määrityksessä.

    Väärin konfiguroitu SSH-palvelin itsessään on valtava haavoittuvuus järjestelmän turvallisuudessa, koska mahdollisella hyökkääjällä on mahdollisuus saada lähes rajoittamaton pääsy järjestelmään. Lisäksi sshd:ssä on monia muita hyödyllisiä vaihtoehtoja, jotka on suositeltavaa ottaa käyttöön käytettävyyden ja turvallisuuden parantamiseksi.

    Portti, ListenAddress ja AddressFamily

    Nämä kolme parametria määrittävät, millä porteilla ja osoitteilla palvelimesi kuuntelee saapuvia yhteyksiä. Ensinnäkin, jos mahdollista, on järkevää rajoittaa käsiteltävien osoitteiden perhe tosiasiallisesti käytettyihin osoitteisiin, eli jos käytät vain IPv4:ää, poista IPv6 käytöstä ja päinvastoin. Tämä voidaan tehdä käyttämällä esimerkiksi AddressFamily-parametria (IPv4:n salliminen ja IPv6:n estäminen):

    OsoiteFamily inet

    Toiseksi, on suositeltavaa vaihtaa vakioportti (22), jossa sshd kuuntelee. Tämä johtuu siitä, että monet verkkoskannerit He yrittävät jatkuvasti muodostaa yhteyden porttiin 22 ja saada ainakin pääsyn raa'alla pakottamalla sisäänkirjautumiset/salasanat tietokannastaan. Vaikka salasanatodennus olisi poistettu käytöstä, nämä yritykset tukkivat lokit voimakkaasti ja (suurissa määrissä) voivat vaikuttaa negatiivisesti ssh-palvelimen nopeuteen. Jos et jostain syystä halua vaihtaa vakioporttia, voit käyttää erilaisia ​​ulkoisia apuohjelmia raakojen pakottajien torjuntaan, esimerkiksi fail2ban, ja sisäänrakennettuja apuohjelmia, kuten MaxStartups.
    Voit asettaa portin joko absoluuttiseksi arvoksi kaikille liitännöille käyttämällä Port-direktiiviä tai tietyksi arvoksi kullekin liitännälle käyttämällä ListenAddress-komentoa. Esimerkiksi:

    Portti 2002

    ListenAddress 192.168.0.1:2003 ListenAddress 192.168.1.1:2004

    Estä pääkäyttäjän etäkäyttö

    Oletuksena pääkäyttäjän käyttö on kielletty salasanalla (avaimella se on mahdollista) - PermitRootLogin-vaihtoehto on asetettu ilman salasanaa. Mutta edellyttäen, että Ubuntussa oletuksena järjestelmän asennuksen aikana lisätyllä käyttäjällä on mahdollisuus ratkaista kaikki hallinnolliset tehtävät sudon kautta, luo kyky pääkäyttäjän oikeudet järjestelmään ssh:n kautta - näyttää kohtuuttomalta (jopa avaintodennuksen kanssa). On suositeltavaa sammuttaa se kokonaan. tämä vaihtoehto tai käytä sitä vain pakotettujen komennot -tilassa. Voit poistaa pääkäyttäjän oikeudet seuraavasti:

    PermitRootLogin no

    Salasanan todennus

    Salasanan todennus, joka on oletuksena sallittu, on käytännössä alkeellisin tapa valtuuttaa sshd:ssä. Toisaalta tämä yksinkertaistaa uusien käyttäjien määrittämistä ja yhdistämistä (käyttäjän tarvitsee vain tietää järjestelmän sisäänkirjautumistunnuksensa/salasanansa), toisaalta salasana voidaan aina arvata, ja käyttäjät usein laiminlyövät monimutkaisten ja pitkien salasanojen luomisen. . Erikoisbotit skannaavat jatkuvasti Internetistä saatavilla olevia ssh-palvelimia ja yrittävät kirjautua sisään niihin pakottamalla raakoja sisäänkirjautumistunnuksia/salasanoja tietokannastaan. On erittäin suositeltavaa olla käyttämättä salasanatodennusta. Voit poistaa sen käytöstä seuraavasti:

    Salasanatodennus nro

    Jos jostain syystä haluat silti käyttää salasanatodennusta, varmista, ettei kukaan pääse kirjautumaan sisään tyhjällä salasanalla. Voit tehdä tämän asettamalla PermitEmptyPasswords-direktiivin:

    PermitEmptyPasswords no

    Protokollat ​​SSH1 ja SSH2

    Kuten jo mainittiin, sshd voi toimia SSH1- ja SSH2-protokollien kanssa. Turvattoman SSH1:n käyttäminen ei kuitenkaan ole suositeltavaa. Voit pakottaa sshd:n toimimaan vain SSH2-protokollan kanssa seuraavasti:

    SSH2 RSA-avaimiin perustuva todennus

    Suosituin valtuutusmenetelmä on SSH2 RSA -avaimiin perustuva todennus. Tällä menetelmällä käyttäjä luo puolelleen avainparin, joista toinen avain on salainen ja toinen julkinen. Julkinen avain kopioidaan palvelimelle ja sitä käytetään käyttäjän henkilöllisyyden tarkistamiseen. Lisätietoja avainparin luomisesta ja niiden sijoittamisesta palvelimelle on SSH-asiakkaan kuvauksessa. Voit ottaa julkisen avaimen todennuksen käyttöön seuraavasti:

    PubkeyAuthentication kyllä

    Palvelimen on tiedettävä, mistä etsiä käyttäjän julkinen avain. Tätä varten käytetään erityistä tiedostoa authorised_keys. Sen syntaksi voisi olla seuraava:

    # Kommentit kirjoitetaan vain uudelle riville # merkintöjen yleinen ulkoasu Author_keys-tiedostossa # [optiot] key_type (ssh-rsa tai ssh-dss) erittäin_pitkä_jono_käsittämätön tavalliselle ihmiselle [login@host] ssh-rsa AAAAB3Nza...LiPk == [sähköposti suojattu] from="*.myynti.example.net,!pc.sales.example.net" ssh-rsa AAAAB2...19Q== [sähköposti suojattu] komento="dump /home",no-pty,no-port-forwarding ssh-dss AAAAC3...51R== esimerkki.net permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh -dss AAAAB5...21S== tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...== [sähköposti suojattu]

    Voit määrittää joko yhden jaetun tiedoston avaimilla tai yhden tiedoston kullekin käyttäjälle. Jälkimmäinen menetelmä on kätevämpi ja turvallisempi, koska voit ensinnäkin määrittää kullekin käyttäjälle erilaisia ​​avainyhdistelmiä ja toiseksi rajoittaa pääsyä käyttäjän julkiseen avaimeen. Voit määrittää tiedoston avaimilla käyttämällä AuthorizedKeysFile-komentoa:

    AuthorizedKeysFile %h/.ssh/my_keys

    skeeman käyttäjälle - tiedosto
    tai

    AuthorizedKeysFile /etc/ssh/authorized_keys

    kaaviolle, jossa on jaettu tiedosto. Oletuksena SSH-asiakas etsii avaimia ~/.ssh/authorized_keys-tiedostosta.

    Lisää turvallisuudesta

    Lisäasetukset

    Käyttäjät ja ryhmät.

    Jos palvelimellasi on monia käyttäjiä ja haluat sallia pääsyn ssh:n kautta vain muutamalle heistä, voit käyttää DenyUsers-, AllowUsers-, DenyGroups- ja AllowGroups-käskyjä. Lisätietoja näistä ohjeista on sshd_config-esimerkin kommenteissa.

    Yhteyden tilan asetukset

    Oletusarvoisesti yhteystilan määritysmenetelmistä vain TCP-yhteyden tarkistusmenetelmä on käytössä - TCPKeepAlive, sshd voi kuitenkin määrittää yhteystilat kätevämmällä ja turvallisemmalla tavalla. Katso lisätietoja vastaavasta osiosta esimerkissä sshd_config.

    Esitys. MaxStartups

    Portin uudelleenohjaus

    X11 uudelleenohjaus

    Aseta palvelimella /etc/ssh/sshd_config-tiedostossa parametri (oletusarvoisesti käytössä):

    EteenpäinX11 kyllä

    Aseta asiakaskoneessa parametrit /etc/ssh/ssh_config-tiedostossa (oletusarvoisesti poissa käytöstä):

    ForwardAgent kyllä ​​ForwardX11 kyllä

    Voit ajaa sen asiakkaalla seuraavasti: ssh yurauname@serverip firefox . Tai mene ensin osoitteeseen ssh yurauname@serverip ja suorita sitten esimerkiksi sudo synaptic .

    SFTP

    sshd:ssä on oletuksena sisäänrakennettu SFTP-palvelin. SFTP-protokolla (SSH Tiedostonsiirto Protocol) - SSH-protokolla tiedostojen siirtoon. Se on suunniteltu kopioimaan ja suorittamaan muita tiedostotoimintoja luotettavan ja suojatun yhteyden kautta. SSH2-protokollaa käytetään pääsääntöisesti yhteyden muodostavana perusprotokollana. Ota SFTP-tuki käyttöön lisäämällä rivi kohtaan sshd_config

    Alijärjestelmä sftp /usr/lib/openssh/sftp-server

    Oletusarvoisesti SFTP-tuki on käytössä.

    Kriteerien käyttö. Ottelun ohje

    SSH-asiakkaan määrittäminen

    Avaimella kirjautumista pidetään turvallisimpana, ja useimmissa tapauksissa tämä ominaisuus on käytössä palvelinpuolella, joten sen käyttöön ei tarvita pääkäyttäjän oikeuksia. Luomme asiakaskoneelle avaimen:

    ssh-keygen -t rsa

    Meitä pyydetään antamaan salasana avaintiedoston suojaamiseksi (se osoittautuu hyödylliseksi, jos tiedosto joutuu vääriin käsiin). Jos aiomme suorittaa skriptejä SSH:n kautta, jätämme sen tyhjäksi. Siirrämme julkisen avaimen palvelimelle komennolla

    Ssh-copy-id -i ~/ .ssh/ id_rsa.pub user@ server

    Siinä se, voit tulla sisään.

    Kun ssh on käynnissä epästandardissa portissa:

    Ssh-copy-id -i ~/ .ssh/ id_rsa.pub "-p portti käyttäjä@palvelin"

    Jos tapahtuu virhe: Virheellinen portti "umask 077; testi -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"

    yritä laittaa parametrit lainausmerkkeihin:

    Ssh-copy-id "-i /home/user/.ssh/id_rsa.pub "-p portti käyttäjä@palvelin""

    Näyttöapuohjelmaa on kätevä käyttää, kun muodostat yhteyden etäjärjestelmään.

    Etä-ssh-hakemiston määrittäminen Nautiluksessa

    Etähakemiston asentaminen sshfs:n avulla

    Etähakemiston liittäminen paikalliseen hakemistoon

    sshfs user@ hostingserver.ru:/ home/ userdir ~/ sshfsdir

    Irrottaminen

    Fusermount -u ~/ sshsfdir

    SSH-aliaksia

    Käytettäessä useita palvelimia erilaisilla pääsyparametreilla (epästandardi portti, pitkä isäntänimi, muu kuin paikallinen sisäänkirjautuminen jne.), on joskus tylsää syöttää kaikki yhteysasetukset joka kerta uudelleen. Tämän helpottamiseksi voit käyttää aliaksia.

    Asetukset tallennetaan tiedostoon ~/.ssh/config yhdelle käyttäjälle ja /etc/ssh/ssh_config maailmanlaajuisesti kaikille käyttäjille.

    Esimerkki konfiguraatiosta. Useita palvelimia voidaan kuvata. Tarkemmat tiedot sisään mies ssh_config(ei pidä sekoittaa sshd_config)

    IsäntäaliasName # Mielivaltainen isäntänimi Isäntänimi 1.2.3.4 # Voit määrittää sekä IP-osoitteen että isäntänimen (jos DNS on käynnissä) User Your UserName # Jos käyttäjä ei vastaa paikallista käyttäjää Port YourSSHPort # Jos ei-standardi portti

    Tämän jälkeen voit muodostaa yhteyden palvelimeen komennolla

    ssh AliasName

    ssh-agentti

    Yhteysongelmien diagnosointi

      Yhteyslokin analyysi:

    ssh -vvv user@ isäntä

      Asiakkaan ja palvelimen asetustiedostojen analyysi.

    Asetustiedostojen sijainti löytyy osoitteesta

    Mies ssh mies sshd

    Älykorttien käyttö

    1. Varmenteen luominen ja julkisen avaimen vienti sekä asiakasosuus Windows + Putty SC:ssä on kuvattu verkkosivustolla: http://habrahabr.ru/post/88540/ Siellä kuvattu Key Manager -lisäosa on saatavilla vain vanhemmissa Firefox-versioissa. Testattu Windows-versiossa 3.5. Suora linkki lisäosaan: https://addons.mozilla.org/ru/firefox/addon/key-manager/

    2. Palvelimen valmistelu. Sinun on varmistettava, että sshd-kokoonpanosi sallii todennuksen julkisilla avaimilla. Tätä varten sinun on määritettävä "PubkeyAuthentication"-parametrin arvoksi "yes" "sshd_config"-tiedostossa. Sitten lisäämme aiemmin hankitun julkisen avaimemme (yhdelle riville) tiedostoon “~/.ssh/authorized_keys”. Huomaa, että .ssh/authorized_keys-tiedosto sijaitsee sen käyttäjän kotihakemistossa, joka sitten kirjautuu sisään julkisella avaimella.

    3. Asiakasosa Linuxissa. Sinun on rakennettava uudelleen OpenSSH-paketti ilman parametreja. On suositeltavaa määrittää vain hakemistoetuliitteet, esimerkiksi –prefix=/usr. Huomaa myös, että asetustiedostot ovat hakemistossa /usr/etc. Ennen kuin aloitat, tarvitset seuraavat paketit: opensc-lite-devel, zlib-devel, openssl-devel. Asenna älykortin ohjain. Mukavuuden vuoksi määritä pkcs-kirjaston polku ssh_config-konfiguraatiossa (jota ei pidä sekoittaa parametriin sshd_config): PKCS11Provider=<путь к библиотеке>

    4. Suorita asiakaskoneessa komento ssh user@host. Jos sirukortti (token) on kytketty, sinulta kysytään salasanaa ja kirjaudut sisään SSH-istuntoon.

    Mahdolliset ongelmat käyttämällä

    Tavallinen näppäinyhdistelmä Ctrl + S, jota käytetään monissa muokkausohjelmissa korjausten tallentamiseen työskennellessäsi päätteessä ssh-palvelimen kanssa, johtaa XOFF-komennon suorittamiseen, joka muistuttaa pinnallisesti istunnon pysäyttämistä. Se ei kuitenkaan ole. Palvelin hyväksyy edelleen syötetyt merkit ja komennot, mutta ei näytä niitä näytöllä. Päästäksesi pois tästä ahdingosta, käytä vain yhdistelmää Ctrl + Q ja kytke XON-tila takaisin päälle.

    Linkit

    Eli käyttäjä1 voidaan rekisteröidä sekä itselleen - tiedostoon /home/user1/.ssh/keys) että toiselle käyttäjälle, jolloin hän voi kirjautua sisään tietokoneelta sekä "itsensä" ja "toisen" alla.

    SSH (Secure Shell) on verkkoprotokolla, joka on suunniteltu etäpalvelimen hallintaan ja tiedonsiirtoon TCP-salattujen yhteyksien kautta. Useimmat isännöintipalvelut, jopa virtuaaliset, tarjoavat nykyään pääsyn sekä FTP:n että SSH:n kautta. Mielestäni tämä on hienoa, SSH on paljon kätevämpi ja turvallisempi käyttää.

    SSH:n asetukset

    Asennus tapahtuu erilliselle palvelimelle, VDS, VPS Debianissa, Ubuntu. Asetustiedosto sijaitsee tässä: /etc/ssh/sshd_config.
    Jos sinulla on tavallinen isännöinti, kaikki pitäisi olla konfiguroitu niin kuin pitääkin, siirry osioon.

    Oletuksena SSHD-daemon (johon teemme muutoksia) ei tarvitse asetuksia ja toimii hyvin. Teemme vain muutaman pienen muutoksen rajoittaaksemme ei-toivottujen henkilöiden pääsyä palvelimelle.

    Jos teet virheellisiä muutoksia asetustiedostoon, saatat menettää pääsyn palvelimeen ssh:n kautta, joten varmista, että vaihtoehtoisia vaihtoehtoja päästäksesi siihen esimerkiksi käyttämällä ISPManagerin ohjauspaneelia.

    Kuinka rajoittaa SSH-käyttöä

    Kaikki muutokset tehdään tiedostoon /etc/ssh/sshd_config
    Jotta muutokset tulevat voimaan, sinun on

    Vaihda porttia

    Portti 9724

    Nyt valtuutuksen yhteydessä sinun on määritettävä 9724 tavallisen 22-portin sijaan.
    Menetelmä on erittäin yksinkertainen ja tehokas useimpia yksinkertaisia ​​​​hakkeribotteja vastaan, jotka koputtavat standardiportteihin. Tärkeintä tässä ei ole luoda ristiriitaa muiden palvelujen kanssa ja valita numero, joka on selvästi käyttämätön.

    Poista vanhaa protokollaa käyttävä viestintä käytöstä

    Tässä määritellään, että viestintä on mahdollista vain v2-protokollaa käyttämällä

    Jos et ole kirjautunut sisään juuri, ennen kaikkia konsolin komentoja sinun on lisättävä sudo - se tarkoittaa Korvaa käyttäjä ja DO- vaihda käyttäjä ja tee (hänen alle). Sen avulla voit esimerkiksi suorittaa komentoja superkäyttäjänä juuri.

    Vähennä valtuutusyritysten määrää

    MaxAuthTries 2

    Salasanayritysten määrä. Oletusarvo on 6. Jos haku epäonnistuu, viestintäistunto lopetetaan.

    Lyhennä valtuutuksen odotusaikaa

    KirjautuminenGraceTime 30s

    Oletusarvoisesti valtuutusistunto voi kestää 120 sekuntia. Tämän ajan jälkeen se loppuu. 2 minuuttia valtuutukseen on liikaa; koko tämän ajan palvelin pitää yhteyttä auki, mikä on erittäin irrationaalista. Puoli minuuttia riittää.

    Sulje IP-käyttö

    Ennen kuin määrität IP-rajoituksia, varmista, että jos asetuksissa tapahtuu virhe ja oma IP-osoite estetään, sinulla on vaihtoehtoinen tapa saada takaisin pääsy palvelimeen

    Jos vain tarvitset pääsyä, yksinkertaisin ja luotettavin tapa on estää pääsy kaikkialta paitsi IP-osoitteestasi tai, jos se on dynaaminen, IP-alueelta.

    1. Avaa /etc/hosts.allow ja lisää siihen SSHD: 192.168.1.1

      jossa 192.168.1.1 on IP-osoitteesi. Jos sinulla on dynaaminen IP-osoite, määritä IP-osoite aliverkon peitteen avulla ja kirjoita aliverkkosi IP-osoitteen sijaan esimerkiksi:

      SSHD: 192.168.0.0/16

    2. Avaa /etc/hosts.deny ja lisää siihen: SSHD: ALL

    Toinen tapa rajoittaa pääsyä IP:n kautta

    Voit käyttää seuraavaa ohjetta:

    AllowUsers = *@1.2.3.4

    Tässä sallimme pääsyn vain IP 1.2.3.4:lle

    SSH-valtuutus avaimilla

    On paljon turvallisempaa, kätevämpää ja oikeampaa määrittää ssh-valtuutus ilman salasanaa. Tätä tarkoitusta varten käytetään avainvaltuutusta.

    Tässä siis ohjeet.

    Ostit ensimmäisen VPS:si tai ehkä jopa palvelimen heti. Varmasti sinulla on verkkopaneeli sen hallintaan. Mutta kovat järjestelmänvalvojat käyvät aina konsolin läpi 😉 Siksi meidän on opittava tekemään tämä. Tällä oppitunnilla asennamme PuTTY-ohjelman, muodostamme yhteyden palvelimeen SSH-protokollan kautta ja opimme määrittämään palvelimen varatun ja vapaan tilan.

    Putty-ohjelma yhteyden muodostamiseen palvelimeen SSH-protokollan kautta

    Lataa Putty sivustolta putty.org Lataan itselleni version " Windowsille Intel x86:ssa - PuTTY: putty.exe"

    Pura arkisto ja käynnistä ohjelma.

    Tältä ohjelman ikkuna näyttää käynnistyksen jälkeen. Olen jo syöttänyt palvelimeni IP-osoitteen Isäntänimi (tai IP-osoite) -kenttään:

    Anna palvelimesi toimialue tai IP-osoite ja napsauta "Avaa"-painiketta. Komentorivi-ikkuna avautuu. Se pyytää meiltä käyttäjätunnusta ja salasanaa. Syötä ensin kirjautumistunnuksesi ja sitten salasanasi. Huomio, salasanaa syötettäessä merkkejä ei tulosteta näytölle, edes tähtiä *** ei tulosteta. Siksi syötämme salasanan kuin sokeasti. Enter ja paina Enter. Jos salasana on syötetty oikein, kirjaudut sisään palvelimen hallintakonsoliin. Näkyviin tulee rivi, jolla on viimeinen kirjautumisaika ja käyttöjärjestelmän tiedot.

    Komennot konsolissa

    pwd

    df

    df-komento näyttää vapaan ja käytetyn tilan määrän palvelimella kaikissa liitetyissä tiedostojärjestelmissä

    du

    Du-komento näyttää, kuinka paljon tilaa kansio tai tiedosto vie.
    Esimerkkikomento:

    Du -h /koti/

    Tämä komento näyttää kuinka paljon tilaa /home/-hakemisto vie.

    Siinä kaikki. Ensimmäinen tutustuminen palvelimeen yhdistämiseen SSH:n ja kittiohjelman kautta on ohi. Näiden tietojen avulla voit mennä palvelimelle ja katsoa kuinka paljon tilaa data vie sillä.



    
    Ylös