Linux-virtuaalikonetta ei voi yhdistää SSH-yhteydellä
21.07.20203 minuuttia luettavaaTämä artikkeli tarjoaa ratkaisun ongelmaan, jossa SSH epäonnistuu, koska /var/empty/sshd-tiedosto ei ole juurihakemiston ja ei ole ryhmä- tai maailmakirjoitettavissa.
Alkuperäinen tuoteversio: Linuxia käyttävä virtuaalikoneAlkuperäinen KB-numero: 4092816
Linux-VM:ää ei voi yhdistää SSH-yhteydellä
Et voi yhdistää Linux-virtuaalikonetta (VM) SSH-yhteyden avulla. Kun tämä ongelma ilmenee, saatat saada seuraavan virhesanoman /var/empty/sshd-tiedostosta riippuen Linux-jakelustasi.
SuSE
/var/empty on oltava pääkäyttäjän omistuksessa, ei ryhmän tai world-writable.startproc: /usr/sbin/sshd:n ylätason poistumistila: 255Epäonnistui
CentOS
Sshd:n aloitus: /var/empty/sshd:n on oltava pääkäyttäjän omistuksessa, ei ryhmässä tai maailmassa kirjoitettavissa.[FAILED]
Tämä ongelma saattaa ilmetä, jos /var/empty/sshd-tiedosto ei ole juurihakemiston omistuksessa eikä siihen voi kirjoittaa ryhmässä tai maailmanlaajuisesti.
Jos sinulla ei ole SSH-käyttöoikeuksia, voit muuttaa Linux-tiedoston käyttöoikeuksia jollakin seuraavista tavoista:
Azure-portaali: Suorita mukautettu Linux-komentosarja virtuaalikoneessa, joka antaa Linuxin chmod-komennot muutettavalle tiedostolle.Manuaalinen liite: Poista virtuaalikone, säilytä levyt, liitä järjestelmälevy toiseen väliaikaiseen virtuaalikoneeseen ja päivitä sitten tiedostot väliaikaisessa VM:ssä. Luo sitten virtuaalikone uudelleen järjestelmälevyltä.CLI: Käytä komentorivikäyttöliittymää BASH-komentojen suorittamiseen virtuaalikoneessa.Tämä menetelmä perustuu Azure Linux -agenttiin (WAgent) ).
Avaa VM:n Ominaisuudet-ikkuna Azure-portaalissa tarkistaaksesi agentin tilan. Jos agentti on käytössä, muuta lupaa seuraavasti:
Kopioi seuraava komentosarja paikalliseen tietokoneellesi ja nimeä tiedosto uudelleen muotoon update_perms.sh.
Huomaa
Sinun on päivitettävä ohjelma vastaamaan järjestelmäjakeluasi. Tämä skripti toimii vain Red Hat -versioissa.
Siirry Azure-portaaliin, etsi VM-asetukset ja valitse sitten Laajennukset> Lisää > Muokattu komentosarja Linuxille > Luoda.
Lähetä komentosarjatiedostoissa update_perms.sh-tiedosto ja napsauta sitten OK.
Kun komentosarja on työnnetty virtuaalikoneeseen, STATUS-arvon tulee olla Onnistui.
Update_perms.sh-esimerkkikomentosarja muuttaa /var/empty/sshd-tiedoston käyttöoikeudet arvosta 777 arvoon 755 ja asettaa omistajaksi ja ryhmäksi root:root. Odota skriptin suorittamista. Tämä voi kestää useita minuutteja. Linux-agentti vastaanottaa pyynnön ja siirtää sen sitten oikealle laajennukselle.Jos voit muodostaa yhteyden virtuaalikoneeseen SSH-yhteyden avulla ja haluat nähdä, mitä tapahtui, kun update_params.sh-komentosarja suoritettiin, tutki tiedosto extension.log tiedosto /var/log/azure/Microsoft.OSTCExtensions.CustomScriptForLinux/-hakemistossa.
Noudata näitä ohjeita:
Poista virtuaalinen kone, säilytä levyt, liitä järjestelmälevy toiseen väliaikaiseen virtuaalikoneeseen ja päivitä sitten väliaikaisen VM:n tiedostot (käyttöoikeudet ja omistajuus). Luo virtuaalikone uudelleen levyltä.Lisätietoja on kohdassa CLI: VM:n poistaminen ja uudelleenasentaminen VHD:ltä (unmanaged disk).
Käytä komentoriviliittymää (CLI) komentojen lisäämiseen virtuaalikoneeseen. CLI:stä on kaksi versiota. Lisätietoja on artikkelissa Azure Custom Script Extension -laajennuksen käyttäminen Linux-virtuaalikoneiden kanssa.
Seuraava esimerkki käyttää uudempaa CLI-versiota 2. Se nollaa /var/empty/sshd-tiedoston käyttöoikeudet ja omistajuuden käyttämällä customScript-laajennusta CLI:n kautta. Myös sshd-palvelu käynnistetään uudelleen.
Korvaa tässä komentosarjassa virtuaalikoneen todellisella nimellä ja resurssiryhmän todellisella nimellä.
vmname=yourvm;rg=yourrg;timestamp=`date +%d%Y%H%M%S`;az vm-laajennusjoukko –resurssiryhmä $rg –vm-nimi $vmname –nimi customScript –julkaisija Microsoft.Azure. Laajennukset –asetukset "{'commandToExecute': 'bash -c \'chmod 755 /var/empty/sshd;chown root:root /var/empty/sshd;systemctl start sshd;ps -eaf | grep sshd\",'timestamp ': "$((timestamp))"}"Tämän ominaisuuden avulla voit käyttää virtuaalikonetta konsolin kautta fyysisenä palvelimena. Tämän mallin avulla voit muokata tiedostoja ilman mukautettua komentosarjan ja ilman että sinun tarvitsee poistaa VM:tä.
PREV: Paras välityspalvelin PS4 2021:lle | Kuinka käyttää välityspalvelinta PS4:llä
NEXT: Määritä PS4-välityspalvelin | Paras PS4-välityspalvelin 2021