SSH-sisäänkirjautuminen selkeän tekstisalasanan avulla parametrina? [kaksoiskappale]

Tähän kysymykseen on jo annettu vastauksia :

Kommentit

  • serverfault.com/ questions / 241588 / …
  • Suojattu tapa on luoda SSH-avain ssh-keygen -t rsa -b 2048: lla ja käyttää tätä avainta kirjaudu etäpalvelimeen vaihtoehtoisesti, voit asentaa " sshpash " ja sitten voit ssh koneesi seuraavalla komennolla sshpass -p ' salasana ' ssh käyttäjänimi @ palvelimen nimi
  • Kysymys, johon tämä uudelleenohjataan, ei ole sama kuin tämä. Tämä kysyy tapaa aloittaa interaktiivinen istunto.

Vastaa

Asenna Ubuntuun sshpass -paketti ja käytä sitä näin:

sshpass -p "YourPassword" ssh user@host 

sshpass tukee myös vuorovaikutteisen näppäimistön salasanan välittämistä tiedostosta tai ympäristömuuttujasta, mikä saattaa olla sopivampi vaihtoehto kaikissa tilanteissa, joissa turvallisuus on merkityksellistä. Katso yksityiskohdat man sshpass .

Kommentit

  • Ajattelua ei suositella eikä hyvä käytäntö, tämä on täsmällinen vastaus kysymykseen. Harkitse avainten käyttöä edellä esitetyllä tavalla. Mutta jos ' on merkittävä tekninen ongelma, tämä on kysytty ratkaisu.
  • Äänestän vain vastauksen. Ei " järkevää, miksi älä ' t tee sitä tällä tavalla " vastausten kanssa. Vain vastaus. näin ollen äänestin sinua 🙂
  • En vihaa sshpassia täysin, itse asiassa minä ' m käyttämällä väliaikaisesti. ' -p ' -sivun käyttäminen on kuitenkin tarpeetonta ja ei-toivottua. Aseta ensin muuttuja SSHPASS ja tee sitten sshpass -e ssh < ssh-args >.
  • @Brad Jos sinulla on root ruutuun, voit asentaa sshpass käyttämällä yum --enablerepo=epel install sshpass.
  • Tämä vastaus toimii myös Manjarolla ( Arch-pohjainen).

Vastaa

Jos vaihtoehto on lisätä salasana komentosarjaan tai ssh komentorivi tai pelkkätekstitiedosto, sitten ”re MUCH parempi käyttää ssh -avainta sen sijaan. Joko niin, kuka tahansa, jolla on pääsy tiliin, johon ssh -työkalu on tallennettu voisi käyttää sitä päästäksesi palvelimelle, mutta ainakin ssh -avaimen tapauksessa OpenSSH tukee sitä oikein, et anna käyttöoikeutta muulla tavalla kuin ssh, se voidaan tarvittaessa peruuttaa helpommin jne. …

Sinun on selitettävä, miksi sinulla on vaatimus olla käyttämättä ssh-avainta.

Harkitse myös pakotetun komennon käyttöä (command="..." kohdassa .ssh/authorized_keys -tiedosto), jotta asiakkaalla on pääsy vain tarvitsemansa komennon suorittamiseen palvelimella kokonaisen kuoren sijaan. >

  • Etäisäntä on itse asiassa muiden insinöörien käyttämä virtuaalikone, jolla ei ole muita riskin arvoisia resursseja kuin testiautomaatiokoodin kopiot. Keskustelun vuoksi sanotaan, että ainoa käyttöoikeus, joka minulla on, on lisätä komentotiedosto, ei lisätä ssh-avaimia kansioon ~/.ssh/.
  • Että ' s erittäin kekseliäs. Hieman vähemmän keksitty skenaario olisi, että väärä palvelimen järjestelmänvalvoja estäisi ssh-avaimet (PubkeyAuthentication no kohdassa /etc/ssh/sshd_config). Kummassakin tapauksessa parempi ratkaisu on korjata taustalla oleva ongelma, joka estää sinua tekemästä ssh-avaimen kirjautumista. Muussa tapauksessa tutustu Gillesin esittämään kysymykseen .
  • @MichaelM sinun ei tarvitse lisätä ssh-avaimia kansioon ~/.ssh/. Lisää avain mihin haluat, ja käytä ssh -i /path/to/id_rsa
  • Stackexchanges-vastauksen tulisi vastata kysymykseen, älä väitä, että kysymys on oikea. Minulla on tähän kelvollinen skenaario. Minun on määritettävä ~/.ssh/authorized_keys 95 eri ruutuun. Kirjoitin komentosarjan työntääksesi author_keys-tiedostoni automaattisesti, mutta silti pyydän salasanaa. Olisi mukavampaa saada komentosarja pyytää salasanaa kerran alussa.
  • Olen samaa mieltä flarn2006: n kanssa.Et voi sanoa " tämä kysymys on tyhmä, joten tässä ' on vastaus toiseen kysymykseen, koska luulen sen ' on parempi kysymys ja tiedän vastauksen siihen ".
  • vastaus

    Ensinnäkin, kuten muutkin vastaajat, suosittelen vain ssh-avainten käyttöä. Oletan kuitenkin, että palvelinta hallitseva henkilö ei yksinkertaisesti salli sinun käyttää ssh-avaimen todennusta ja sinun on käytettävä salasanan todennusta.

    Voit käyttää ControlMasteria ja ControlPathia.

    Olkoon A palvelin, johon sinulla ei ole pääsyä (ajattele jatkuvaa integraatiopalvelinta, kuten Bamboo) ja C on etäisäntä Ubuntua käyttävä.

    Olkoon nyt B jokin hallitsemastasi tietokoneesta. Jos pystyt ei anna sopivaa B-tietokonetta, tämä vastaus ei toimi.

    1. Luo avainpari ja lisää julkinen osa B: n valtuutettujen avainten tiedostoon. Anna yksityinen avain A: lle. Nyt voit kirjautua B: hen A: sta ilman salasanaa.
    2. B: ssä B: ssä manuaalisesti ssh -M -S /tmp/controlpath C ja kirjoita salasanasi kehotteeseen. Sen jälkeen sinun pitäisi pystyä kirjautumaan C: hen A: sta ilman salasanaa ssh -S /tmp/controlpath C.

    A: n komentosarjassa voit kirjoittaa ssh B ssh C dostuff.

    Aina kun käynnistät B: n uudelleen, yhteys on luotava uudelleen ssh -M -S /tmp/controlpath C.

    Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *