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
- asennus
- asiakkaan asennus
- palvelimen asennus
- asetustiedostot
- uudistavat isäntäavaimet
- Etätunnus
- salasanalla
- yhteisten avainten käyttäminen
- avainten hallinta
- GUI
- turvaaminen
- SSH-palvelin
- hyvät käytännöt SSH-palvelimella
- Asetusasetukset
- ulkoiset palvelut
- SSH-asiakas
- hyvät käytännöt SSH-asiakkaan kanssa
- lisätoiminnot
- näytä tiedostoja graafisessa käyttöliittymässä
- lisäkomennot
- scp
- sftp
- Tekstitila
- graafinen tila
- clusterssh
- ssh-agentti ja ssh-add
- avaimenperä
- ssh-askpass
- libpam-usb
- etäkomennot
- SSH Debianiin toisesta käyttöjärjestelmästä
- SSH: n käytön hyvät käytännöt
- Vianetsintä
- OpenSSL: n versio ei täsmää. Sisäänrakennettu 1000105f: ää vastaan, sinulla on 10001060
- SSH roikkuu
- resoluutio IPQoS 0x00
- resoluutio netcatin kanssa
- pidä SSH-yhteys elossa
- Debianille 7.x-palvelin
- Katso myös
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)
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:
-
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.
-
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
- jos sinulla on jokin pääte / konsoli ikkuna(t) jo auki. Sulkekaa ne kaikki. Näin suljetaan kaikki aktiiviset SSH-istunnot.
-
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