J’ai besoin de ssh à localhost en utilisant le compte root, par ssh root@localhost
. Quand il me demande des mots de passe, je ne peux pas me connecter avec tous les mots de passe possibles. Lors de la configuration de la machine localhost, l’utilisateur ordinaire xxx
et l’utilisateur root partagent le même mot de passe (le mot de passe sudo -s
pour sudo -s
), mais pas pour ssh root@localhost
. Alors, où chercher le mot de passe pour ssh root@localhost
PS: avec le mot de passe, je peux me connecter à un compte normal sur ssh xxx@localhost
.
PPS: pour répondre à d’autres questions sur la motivation, localhost
n’est qu’un ordinateur appartenant à un réseau privé et la configuration de ssh root@localhost
consiste simplement à alléger la gestion manuelle dans un système prototype.
ssh root@localhost
utilise le même mot de passe pour root. Il semble que vous n’ayez pas défini de mot de passe root. Pour ce faire, connectez-vous en tant que root à l’aide de sudo -s
puis utilisez la commande passwd
pour définir le mot de passe root.
Après cela, vous devez être capable de ssh en tant que root
Connectez-vous en tant qu’utilisateur normal et utilisez sudo -i
pour accéder à un shell racine.
Vous ne devez pas utiliser le compte root ou changer son mot de passe pour cette affaire.
Si vous décidez d’utiliser le compte root.
Au moins, assurez-vous de désactiver la possibilité de vous connecter à ssh avec root si ssh est exposé à Internet. Au lieu de cela, connectez-vous en tant qu’utilisateur et su
à root.
Cela vous évitera de réussir des attaques par force brute contre votre ordinateur. Comme il est difficile de deviner le bon nom d’utilisateur et le bon mot de passe. Avec root, il suffit d’essayer de deviner le mot de passe
changer la ligne:
PermitRootLogin yes
sous /etc/ssh/sshd_config
à
PermitRootLogin no
et courir:
service sshd restart
pour recharger la configuration.
La racine de l’utilisateur n’est pas activée et n’est pas capable de se connecter, vous pouvez voir que:
sudo grep root /etc/shadow
le champ qui contient généralement un mot de passe crypté est rempli avec un !
.
Si vous lisez la page de manuel shadow (5), vous obtiendrez ceci.
Si le champ mot de passe contient une chaîne qui n’est pas un résultat valide de crypt (3), par exemple! ou *, l’utilisateur ne pourra pas utiliser un mot de passe unix pour se connecter (mais l’utilisateur peut se connecter au système par d’autres moyens).
Vous ne devez pas activer l’utilisateur root pour des raisons de sécurité.
définir le mot de passe root en utilisant la commande suivante
sudo passwd
Ils ont répondu à votre question sur la connexion à ssh avec un utilisateur non super (disons [email protected] -p 22
).
Commencez par créer un autre compte sans privilèges. Une fois que vous vous êtes connecté à ssh en tant que super utilisateur, vous pouvez entrer cette commande pour passer à root (augmentez vos privilèges):
su
Et entrez le mot de passe.