OpenSSH no acepta mi contraseña de inicio de sesión

OpenSSH no acepta mi contraseña de inicio de sesión

He configurado con éxito el servidor y el cliente OpenSSH ejecutándose a través de la sección de funciones opcionales de Windows 10.
Cada vez que intento iniciar sesión en el servidor, se me solicita una contraseña. Solo he configurado una única contraseña para mi PC con Windows 10, y esa es la contraseña de mi cuenta de Microsoft. Pero el servidor niega el acceso con esa contraseña. Todavía no he configurado ninguna contraseña para el servidor SSH.
¿Cuál es la contraseña predeterminada para el servidor?

Aquí está el contenido del sshd_configarchivo en %PROGRAMDATA%\ssh\la carpeta:

# 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

Esta es la salida de 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

Salida de [System.Security.Principal.WindowsIdentity]::GetCurrent().Name:

<my_name>\USER

Respuesta1

Todavía no he configurado ninguna contraseña para el servidor SSH. ¿Cuál es la contraseña predeterminada para el servidor?

No hay ninguno.

Cada vez que intento iniciar sesión en el servidor, se me solicita una contraseña. Solo he configurado una única contraseña para mi PC con Windows 10, y esa es la contraseña de mi cuenta de Microsoft. Pero el servidor niega el acceso con esa contraseña.

Estás intentando conectarte con el nombre de usuario incorrecto. Deberías utilizarlo ssh Machine_Name\Username@localhostpara conectarte al servidor.

¿Por qué necesito dar la parte \USUARIO?

Debe indicar explícitamente qué nombre de usuario desea utilizar para conectarse al servidor OpenSSH. También indicó que utilizó la sintaxis, ssh <my_name>@localhostque indica que el nombre de usuario era el nombre de su máquina en lugar de su nombre de usuario real.

Desde<my_name>no es un nombre de usuario real en la máquina, la autenticación de contraseña estaba fallando, en realidad tienes que usarUsernamee indicar explícitamente que está en la máquinaMachine_Name\Username.

El resultado de [System.Security.Principal.WindowsIdentity]::GetCurrent().Nameindicará qué se debe utilizar.

Respuesta2

Otra razón por la que es posible que no acepte un nombre de usuario y una contraseña válidos es si el shell configurado es incorrecto.

Puedes comprobar con cual es.

reg query HKLM\SOFTWARE\OpenSSH /v DefaultShell

Para configurarlo en Powershell, si lo tiene en el directorio predeterminado:

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

Respuesta3

  1. Escribe whoamien el cmd, te dará un texto, copia el texto completo, por completo me refiero al completo. Para este ejemplo, digamos que obtuve nick\hpcomo resultado.

  2. Ahora en cmd, escriba ssh nick\hp@localhosty presione Entrar.

  3. Te pedirá una contraseña, ingresa aquí la contraseña de tu cuenta de Microsoft. Y podrás ingresar con éxito.

Respuesta4

Tuve un problema similar. El inicio de sesión ssh funcionó normalmente hasta un día. No estoy seguro de qué pasó exactamente. Es posible que haya intentado compartir una carpeta de Windows a través de samba y, por lo tanto, estropear algunas configuraciones de openssh. De todos modos aquí la solución:

Crear un nuevo usuario de Windows

Eso es todo. Puedo iniciar sesión normalmente con la nueva cuenta. Parece que la contraseña ssh de la cuenta anterior cambió sin que yo hiciera nada.

información relacionada