Kuinka määrittää mukautetut SSH-yhteydet etäkäytön yksinkertaistamiseksi
SSH (SSH-asiakas) on ohjelma koneen etäkäyttöön. Sen avulla käyttäjä voi suorittaa komentoja etäisännällä. Se on yksi suosituimmista tavoista kirjautua sisään etäisäntään, koska se on suunniteltu tarjoamaan suojattu salattu viestintä kahden epäluotettavan isännän välillä suojaamattoman verkon kautta.
SSH käyttää sekä järjestelmän laajuista että käyttäjäkohtaista (mukautettua) määritystiedostoa. Tässä opetusohjelmassa selitämme kuinka luodaan mukautettu ssh-määritystiedosto ja käytetään tiettyjä vaihtoehtoja yhteyden muodostamiseen etäisäntään.
Vaatimukset:
- Sinulla on oltava OpenSSH-asiakasohjelma asennettuna Linux-työpöydällesi.
- Ymmärrä yleiset asetukset, joita käytetään etäyhteyksissä ssh:n kautta.
SSH-asiakasasetustiedostot
Alla ovat ssh-asiakasasetustiedostojen sijainnit:
/etc/ssh/ssh_config
– tämä on oletusarvoinen koko järjestelmän määritystiedosto. Se sisältää asetukset, jotka koskevat kaikkia ssh-asiakaskoneen käyttäjiä.~/.ssh/config
tai$HOME/.ssh/config
– on käyttäjäkohtainen/muokattu määritystiedosto. Siinä on tiettyä käyttäjää koskevat määritykset. Siksi se ohittaa oletusasetukset järjestelmän laajuisessa konfiguraatiotiedostossa. Tämä on tiedosto, jonka luomme ja käytämme.
Oletuksena käyttäjät todennetaan ssh:ssa salasanoilla, mutta voit määrittää salasanattoman ssh-kirjautumisen käyttämällä ssh keygeniä 5 yksinkertaisessa vaiheessa.
Huomaa: jos hakemistoa ~/.ssh
ei ole työpöytäjärjestelmässäsi, luo se seuraavilla käyttöoikeuksilla.
mkdir -p ~/.ssh
chmod 0700 ~/.ssh
Yllä oleva chmod-komento tarkoittaa, että vain käyttäjällä voi olla luku-, kirjoitus- ja suoritusoikeudet hakemistossa ssh-asetusten edellyttämällä tavalla.
Kuinka luoda käyttäjäkohtainen SSH-määritystiedosto
Tätä tiedostoa ei yleensä luoda oletuksena, joten sinun on luotava se vain käyttäjän luku-/kirjoitusoikeuksilla.
touch ~/.ssh/config
chmod 0700 ~/.ssh/config
Yllä oleva tiedosto sisältää isäntämääritysten määrittelemiä osia, ja osiota käytetään vain isännissä, jotka vastaavat yhtä määrityksessä määritetyistä malleista.
Tavanomainen muoto ~/.ssh/config
on seuraava, ja kaikki tyhjät rivit sekä rivit, jotka alkavat kirjaimella '#'
, katsotaan kommentteiksi:
Host host1
ssh_option1=value1
ssh_option2=value1 value2
ssh_option3=value1
Host host2
ssh_option1=value1
ssh_option2=value1 value2
Host *
ssh_option1=value1
ssh_option2=value1 value2
Yllä olevasta muodosta:
- Host host1 – on otsikon määritelmä kohteelle isäntä1, tästä alkaa isäntämäärittely ja se päättyy seuraavaan otsikon määritelmään, Host2 making. osio.
- isäntä1, isäntä2 ovat yksinkertaisesti isäntäaliaksia, joita käytetään komentorivillä, ne eivät ole etäisäntien todellisia isäntänimiä.
- Määritysvaihtoehdot, kuten ssh_option1=value1, ssh_option2=value1 value2, koskevat vastaavaa isäntää, ja ne tulee sisentää hyvin järjestettyä muotoilua varten.
- Vaihtoehdoissa, kuten ssh_option2=arvo1 arvo2, arvo arvo1 otetaan huomioon ensin ja sitten arvo2.
- Otsikon määritelmä Host * (jossa
*
on kuvio – jokerimerkki, joka vastaa nollaa tai useampaa merkkiä) vastaa nollaa tai useampaa isäntäkonetta.
Silti yllä oleva muoto huomioon ottaen ssh lukee asetustiedoston tällä tavalla. Jos suoritat ssh-komennon päästäksesi etäkäyttöön isäntä1:
ssh host1
Yllä oleva ssh-komento tekee seuraavat asiat:
- vastaa isäntäaliasta host1 konfiguraatiotiedostossa ja käyttää määrittelyotsikon Host host1 alla asetettuja asetuksia.
- siirtyy sitten seuraavaan isäntäosioon Host host2 ja huomaa, että komentorivillä annettu nimi ei täsmää, joten vaihtoehtoja ei käytetä täältä.
- Se etenee viimeiseen osioon Host *, joka vastaa kaikkia isäntiä. Tässä se soveltaa kaikkia tämän osan asetuksia isäntäyhteyteen. Mutta se ei voi ohittaa mitään valintojen arvoja, joita on jo käytetty edellisissä osissa.
- Sama koskee host2:ta.
Käyttäjäkohtaisen SSH-määritystiedoston käyttäminen
Kun olet ymmärtänyt, kuinka ssh-asiakasasetustiedosto toimii, voit luoda sen seuraavasti. Muista käyttää palvelinympäristöäsi koskevia valintoja ja arvoja (isäntäaliaksia, porttinumeroita, käyttäjänimiä ja niin edelleen).
Avaa asetustiedosto suosikkieditorillasi:
vi ~/.ssh/config
Ja määrittele tarvittavat osat:
Host fedora25
HostName 192.168.56.15
Port 22
ForwardX11 no
Host centos7
HostName 192.168.56.10
Port 22
ForwardX11 no
Host ubuntu
HostName 192.168.56.5
Port 2222
ForwardX11 yes
Host *
User tecmint
IdentityFile ~/.ssh/id_rsa
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO
Yksityiskohtainen selitys yllä olevista ssh-asetusvaihtoehdoista.
- HostName – määrittää oikean isäntänimen, johon kirjaudut, vaihtoehtoisesti voit käyttää numeerisia IP-osoitteita, se on myös sallittu (sekä komentorivillä että HostName-määrityksessä) .
- Käyttäjä – määrittää käyttäjän, jolla kirjaudutaan sisään.
- Portti – määrittää etäisännän portin numeron, jonka oletusarvo on 22. Käytä etäisännän sshd-asetustiedostossa määritettyä porttinumeroa.
- Protokolla – tämä vaihtoehto määrittää protokollaversiot, joita ssh:n tulee tukea mieltymysjärjestyksessä. Tavalliset arvot ovat '1' ja '2', useat versiot on erotettava pilkuilla.
- IdentityFile – määrittää tiedoston, josta käyttäjän DSA-, Ed25519-, RSA- tai ECDSA-todennusidentiteetti luetaan.
- EteenpäinX11 – määrittää, ohjataanko X11-yhteydet automaattisesti suojatun kanavan ja NÄYTTÖ-joukon yli. Sillä on kaksi mahdollista arvoa "kyllä" tai "ei".
- Pakkaus – sitä käytetään määrittämään pakkaus etäyhteyden aikana kyllä-arvolla. Oletusasetus on "ei".
- ServerAliveInterval – asettaa aikakatkaisuvälin sekunneissa, jonka jälkeen jos palvelimelta ei ole saatu vastausta (tai tietoja), ssh lähettää viestin salatun kanavan kautta ja pyytää vastausta palvelimelta. Oletusarvo on 0, mikä tarkoittaa, että viestejä ei lähetetä palvelimelle, tai 300, jos BatchMode-vaihtoehto on määritetty.
- ServerAliveCountMax – määrittää palvelimen elossa olevien viestien määrän, jotka voidaan lähettää ilman, että ssh saa vastausta palvelimelta.
- LogLevel – määrittää monisanaisuustason, jota käytetään kirjattaessa viestejä ssh:sta. Sallittuja arvoja ovat: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 ja DEBUG3. Ja oletus on INFO.
Vakiotapa muodostaa yhteys mihin tahansa Linux-etäisäntään (CentOS 7 - minun tapauksessani), joka on määritelty yllä olevan konfigurointitiedoston osiossa kaksi, kirjoitamme tavallisesti alla olevan komennon:
ssh -i ~/.ssh/id_rsa -p 22 [email
Kuitenkin käyttämällä ssh-asiakasasetustiedostoa voimme yksinkertaisesti kirjoittaa seuraavan komennon:
ssh centos7
Löydät lisää vaihtoehtoja ja käyttöesimerkkejä ssh-asiakkaan konfigurointimanuaalisivulta:
$man ssh_config
Siinä se nyt, tässä oppaassa selitimme sinulle, kuinka käyttäjäkohtaista (mukautettua) ssh-asiakasasetustiedostoa käytetään Linuxissa. Käytä alla olevaa palautelomaketta kirjoittaaksesi meille tästä artikkelista.