Vraag Wat betekent 'zonder wachtwoord' in het bestand sshd_config?


Ik heb zojuist Ubuntu 14.04 op mijn server geïnstalleerd en ik was bezig al mijn configuratiebestanden op te zetten toen ik dit in mijn tegenkwam sshd_config het dossier:

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

Dit maakte me erg ongerust. Ik dacht dat het mogelijk was dat iemand als root zonder rootwachtwoord in kon loggen op mijn server.

Ik probeerde via root verbinding te maken met mijn server als root:

johns-mbp:~ john$ ssh root@192.168.1.48
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
root@192.168.1.48's password:  

Ik nam een ​​leeg wachtwoord op en het liet me niet binnen, wat een opluchting was. Dus mijn vraag is: wat betekent zonder wachtwoord en waarom is dit een standaard in Ubuntu 14.04?


106
2018-04-18 01:12


oorsprong




antwoorden:


Van de manpage:

PermitRootLogin

Geeft aan of root zich kan aanmelden met ssh(1). Het argument   moet "yes", "without-password", "forced-commands-only", of zijn   "nee". De standaardinstelling is "ja".

Als deze optie is ingesteld op "zonder wachtwoord", wachtwoord   verificatie is uitgeschakeld voor root.

Als deze optie is ingesteld op "forced-commands-only", log in met root   openbare sleutelauthenticatie is toegestaan, maar alleen als het    command optie is gespecificeerd (wat handig kan zijn om te nemen   externe back-ups, zelfs als rootaanmelding normaal niet is toegestaan). Alle   andere verificatiemethoden zijn uitgeschakeld voor root.

Als deze optie is ingesteld op "nee", mag root zich niet aanmelden.

Dus without-password staat root-aanmelding alleen toe met openbare sleutelauthenticatie. Dit wordt vaak gebruikt met shell-scripts en geautomatiseerde taken.


127
2018-04-18 01:26



Geen 'root login' toestaan wachtwoord gebruiken wordt overwogen betere beveiliging dan het toestaan. Dat gezegd hebbende, zou je niet moeten inloggen wortel überhaupt, tenzij geen andere methode (sudo, etc.) zal werken. - david6
Zoals je kunt zien, terwijl de man-pagina aangeeft dat de standaard "yes" is, heeft Ubuntu de standaard "zonder-wachtwoord" gemaakt. - ferrouswheel
Zo without-password betekent alle toegestane methoden behalve wachtwoord? Het klinkt echt als "toegestaan ​​om in te loggen zonder de noodzaak van een wachtwoord". - Gauthier
"Alle root-toegang moet worden vergemakkelijkt door een lokale aanmelding met een unieke en identificeerbare gebruikers-ID en vervolgens via de opdracht su na eenmaal lokaal te zijn geverifieerd. Directe rootaanmelding is uiterst onveilig en biedt weinig controle over de audit." - CIS IBM AIX Guide - Dominik Antal
PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'. - endolith


Eigenlijk doet deze instelling vrijwel niets als je PAM-authenticatie gebruikt. Aan de onderkant van de sshd_config configuratiebestand vindt u:

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

De standaardinstelling op Ubuntu is om PAM-verificatie te gebruiken:

UsePAM yes

15
2017-11-15 17:34



In mijn korte ervaring, zelfs om dit in te stellen no zal niet maken PermitRootLogin without-password Werk op de een of andere manier! :( - cregox
@cregox als u een standaarddesktopsysteem gebruikt, moet u dit doen ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip en het creëert ~/.ssh/authorized_keys Onthoud dat als je niet als root kunt inloggen, je dit bestand niet in /root/.ssh/ zou aanmaken, maar het werkt als je het bestand daarheen kopieert - Rutrus


Merk op dat er legitieme redenen zijn om in te loggen via root (maar met behulp van cryptografische sleutels en nooit een wachtwoord). Een typisch voorbeeld is het op afstand synchroniseren van twee servers (waarvan er één als fail-over wordt gebruikt). Omdat de structuur identiek moet zijn, is vaak een root-wachtwoord vereist.

Hier is een voorbeeld dat unison gebruikt voor de synchronisatie: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison


3
2018-01-17 20:26



Zal niet inloggen met een normale gebruiker (waarschijnlijk met behulp van cryptografische sleutels) en het hebben van het sudo groep laat je dit ook doen? - NS du Toit


In nieuwere versies van sshd is "zonder wachtwoord" gewijzigd in "verbod-wachtwoord".

Beide versies werken, waarschijnlijk het best om "verbieden-wachtwoord" te gebruiken als je kunt: het verklaart zichzelf beter.


0
2018-03-22 23:12