![Komentorivin musiikkisoitin Spotifylle, YouTubelle ja muille suoratoistopalveluille](/f/0df41cbbecfb657fd180bceb3a88bee8.gif?width=100&height=100)
Useimmissa tapauksissa Linux -järjestelmänvalvojat kirjautuvat Linux -etäpalvelimille SSH: ta käyttämällä joko antamalla salasanan tai salasanaton SSH -kirjautuminentai avainpohjainen SSH -todennus.
Mitä jos haluat toimittaa a Salasana kera käyttäjätunnus SSH -kehotteeseen itse? tämä on missä sshpass tulee pelastamaan.
sshpass on yksinkertainen ja kevyt komentorivityökalu, jonka avulla voimme antaa salasanan (ei-vuorovaikutteinen salasana) todentaminen) itse komentokehotteeseen, jotta automaattiset komentosarjat voidaan suorittaa varmuuskopioiden ottamista varten kautta cron -ajastin.
ssh käyttää suoraa TTY -käyttöoikeutta varmistaakseen, että salasana on todella vuorovaikutteisen näppäimistön käyttäjän antama. Sshpass suorittaa ssh: n omistetussa tty: ssä, johtaa sen harhaan uskomaan, että se saa salasanan vuorovaikutteiselta käyttäjältä.
Tärkeä: Käytössä sshpass pidetään vähiten turvallisena, koska se paljastaa salasanan kaikille komentorivin järjestelmän käyttäjille yksinkertaisella "Ps" komento. Suosittelen lämpimästi käyttöä SSH Salasanaton todennus.
Sisään RedHat/CentOS perustuvat järjestelmät, sinun täytyy ensin ota käyttöön Epel -arkisto asentaaksesi sen käyttämällä yum komento kuten on esitetty.
# yum asenna sshpass. # dnf asenna sshpass [Päällä Fedora 22+ versiot]
Debianissa/Ubuntussa ja sen johdannaisissa voit asentaa sen käyttämällä apt-get-komento kuten on esitetty.
$ sudo apt-get install sshpass.
Vaihtoehtoisesti voit asentaa lähteestä uusimman version sshpass, lataa ensin lähdekoodi ja poista sitten tar -tiedoston sisältö ja asenna se seuraavasti:
$ wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz. $ tar -xvf sshpass.tar.gz. $ cd sshpass-1.06. $ ./configure. # sudo tehdä asennus
sshpass käytetään yhdessä ssh, voit tarkastella kaikkia sshpass käyttövaihtoehdot täydellisin kuvauksin antamalla alla olevan komennon:
$ sshpass -h.
sshpass Ohje
Käyttö: sshpass [-f | -d | -p | -e] [-hV] komentoparametrit -f tiedostonimi Ota salasana käytettäväksi tiedostosta -d numero Käytä numeroa tiedoston kuvaajana salasanan saamisessa -p salasana Anna salasana argumenttina (suoja ei ole viisasta) -e Salasana välitetään env -var "SSHPASS" Ilman parametreja -salasana otetaan stdin -h Näytä ohje (tämä näyttö) -V Tulosta versio tiedot. Korkeintaan yhtä arvoista -f, -d, -p tai -e tulee käyttää.
Kuten aiemmin mainitsin, sshpass on luotettavampi ja hyödyllisempi komentosarjoille, harkitse alla olevia esimerkkikomentoja.
Kirjaudu Linux -etäpalvelimeen (10.42.0.1) käyttäjätunnuksella ja salasanalla ja tarkista tiedostojärjestelmän levyn käyttö etäjärjestelmästä kuvan osoittamalla tavalla.
$ sshpass -p 'my_pass_here' ssh [sähköposti suojattu] 'df -h'
Tärkeä: Tässä salasana annetaan komentoriviltä, joka on käytännössä epävarma, eikä tämän vaihtoehdon käyttöä suositella.
Voit kuitenkin estää salasanan näyttämisen näytöllä käyttämällä -e
lippu ja kirjoita salasana SSHPASS ympäristömuuttuja kuten alla:
$ export SSHPASS ='my_pass_here'
$ echo $ SSHPASS. $ sshpass -e ssh [sähköposti suojattu] 'df -h'
Merkintä: Yllä olevassa esimerkissä SSHPASS ympäristömuuttuja on tarkoitettu vain väliaikaiseen käyttöön ja poistetaan uudelleenkäynnistyksen aikana.
Voit asettaa pysyvästi SSHPASS ympäristömuuttuja, avaa /etc/profile tiedosto ja kirjoita vientilausunto tiedoston alkuun:
vienti SSHPASS ='my_pass_here'
Tallenna tiedosto ja poistu ja suorita muutokset suorittamalla alla oleva komento:
$ source /etc /profile
Toisaalta voit myös käyttää -f
lippu ja laita salasana tiedostoon. Tällä tavalla voit lukea salasanan tiedostosta seuraavasti:
$ sshpass -f password_filename ssh [sähköposti suojattu] 'df -h'
Voit myös käyttää sshpassia siirtää tiedostoja scp: llä tai varmuuskopioi/synkronoi tiedostot rsyncin kautta käyttämällä SSH: ta kuvan mukaisesti:
Tiedostojen siirtäminen SCP: n avulla $ scp -r /var/www/html/example.com --rsh = "sshpass -p 'my_pass_here' ssh -l aaronkilik "10.42.0.1:/var/www/html Varmuuskopioi tai synkronoi tiedostot Rsyncin avulla $ rsync --rsh = "sshpass -p 'my_pass_here' ssh -l aaronkilik "10.42.0.1:/data/backup//backup/
Jos haluat käyttää enemmän, suosittelen lukemaan sshpass man -sivu, kirjoita:
$ man sshpass.
Tässä artikkelissa selitimme sshpass yksinkertainen työkalu, joka mahdollistaa ei-vuorovaikutteisen salasanatodennuksen. Vaikka nämä työkalut voivat olla hyödyllisiä, on erittäin suositeltavaa käyttää ssh: n turvallisempaa julkisen avaimen todennusmekanismia.
Ole hyvä ja jätä kysymys tai kommentti alla olevan palauteosion kautta keskustelua varten.