OpenSSH akzeptiert mein Anmeldekennwort nicht

OpenSSH akzeptiert mein Anmeldekennwort nicht

Ich habe den OpenSSH-Server und -Client erfolgreich über den Abschnitt „Optionale Funktionen“ von Windows 10 eingerichtet.
Immer wenn ich versuche, mich beim Server anzumelden, werde ich nach einem Kennwort gefragt. Ich habe nur ein einziges Kennwort für meinen Windows 10-PC konfiguriert, und zwar das Kennwort meines Microsoft-Kontos. Aber der Server verweigert den Zugriff mit diesem Kennwort. Ich habe noch kein Kennwort für den SSH-Server eingerichtet.
Wie lautet das Standardkennwort für den Server?

Hier ist der Inhalt der sshd_configDatei im %PROGRAMDATA%\ssh\Ordner:

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile  .ssh/authorized_keys

#AuthorizedPrincipalsFile none

# For this to work you will also need host keys in %programData%/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# override default of no subsystems
Subsystem   sftp    sftp-server.exe

# Example of overriding settings on a per-user basis
#Match User anoncvs
#   AllowTcpForwarding no
#   PermitTTY no
#   ForceCommand cvs server

Dies ist die Ausgabe von Get-NetFirewallRule -Name *ssh*:

Name                  : OpenSSH-Server-In-TCP
DisplayName           : OpenSSH SSH Server (sshd)
Description           : Inbound rule for OpenSSH SSH Server (sshd)
DisplayGroup          : OpenSSH Server
Group                 : OpenSSH Server
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : The rule was parsed successfully from the store. (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local

Name                  : SshProxy-Service
DisplayName           : SshProxy-Service-Private
Description           : SSH Server Proxy Service
DisplayGroup          : Ssh Server
Group                 : Ssh Server
Enabled               : True
Profile               : Private
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : The rule was parsed successfully from the store. (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local

Name                  : SshProxy-Service-Domain
DisplayName           : SshProxy-Service-Domain
Description           : SSH Server Proxy Service
DisplayGroup          : Ssh Server
Group                 : Ssh Server
Enabled               : True
Profile               : Domain
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : The rule was parsed successfully from the store. (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local

Ausgabe von [System.Security.Principal.WindowsIdentity]::GetCurrent().Name:

<my_name>\USER

Antwort1

Ich habe noch kein Passwort für den SSH-Server eingerichtet. Wie lautet das Standardpasswort für den Server?

Es gibt keines.

Immer wenn ich versuche, mich beim Server anzumelden, werde ich nach einem Passwort gefragt. Ich habe für meinen Windows 10-PC nur ein einziges Passwort konfiguriert, und zwar das Passwort meines Microsoft-Kontos. Aber der Server verweigert den Zugriff mit diesem Passwort.

Sie versuchen, eine Verbindung mit dem falschen Benutzernamen herzustellen. Sie sollten ssh Machine_Name\Username@localhostfür die Verbindung mit dem Server verwenden.

Warum muss ich den \USER-Teil angeben?

Sie müssen explizit angeben, welchen Benutzernamen Sie verwenden möchten, um eine Verbindung zum OpenSSH-Server herzustellen. Sie haben auch angegeben, dass Sie die Syntax verwendet haben, ssh <my_name>@localhostdie angibt, dass der Benutzername der Name Ihres Computers und nicht Ihr tatsächlicher Benutzername ist.

Seit<my_name>ist kein tatsächlicher Benutzername auf dem Computer, die Kennwortauthentifizierung schlug fehl, Sie müssen tatsächlich verwendenUsernameund geben Sie explizit an, dass es sich auf der Maschine befindetMachine_Name\Username.

Die Ausgabe [System.Security.Principal.WindowsIdentity]::GetCurrent().Namegibt an, was verwendet werden soll.

Antwort2

Ein weiterer Grund, warum ein gültiger Benutzername und ein gültiges Passwort möglicherweise nicht akzeptiert werden, ist eine falsche Konfiguration der Shell.

Um welches es sich handelt, können Sie mit

reg query HKLM\SOFTWARE\OpenSSH /v DefaultShell

So stellen Sie es auf Powershell ein, wenn Sie es im Standardverzeichnis haben:

reg add HKLM\SOFTWARE\OpenSSH /v DefaultShell /d C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe

Antwort3

  1. Schreiben Sie whoamiin die Eingabeaufforderung. Sie erhalten einen Text. Kopieren Sie den gesamten Text. Mit „gesamt“ meine ich „gesamt“. Nehmen wir für dieses Beispiel an, dass ich nick\hpals Ausgabe Folgendes erhalten habe.

  2. Geben Sie nun in cmd ein ssh nick\hp@localhostund drücken Sie die Eingabetaste.

  3. Sie werden nach einem Kennwort gefragt. Geben Sie hier das Kennwort Ihres Microsoft-Kontos ein. Dann können Sie sich erfolgreich per SSH anmelden.

Antwort4

Ich hatte ein ähnliches Problem. Die SSH-Anmeldung funktionierte bis zu einem Tag normal. Ich bin mir nicht sicher, was genau passiert ist. Ich habe möglicherweise versucht, einen Windows-Ordner über Samba freizugeben und dabei einige OpenSSH-Einstellungen durcheinander zu bringen. Hier ist jedenfalls die Lösung:

Einen neuen Windows-Benutzer erstellen

Das war's. Ich kann mich mit dem neuen Konto normal anmelden. Es scheint, als hätte sich das SSH-Passwort für das alte Konto geändert, ohne dass ich etwas getan hätte.

verwandte Informationen