it-swarm.com.de

Windows 10 ssh Passwortauthentifizierung deaktivieren?

Windows 10 hat kürzlich OpenSSH als optionale Windows-Funktion hinzugefügt. Ich habe die Konfigurationsdatei C:\Windows\System32\OpenSSH\sshd_config gefunden und mir Rechte zum Ändern erteilt.

Hier ist die Datei, die ich habe:

#   $OpenBSD: sshd_config,v 1.84 2011/05/23 03:30:07 djm Exp $

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

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# 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 ::

# The default requires explicit activation of protocol 1
#Protocol 2

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_Host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_Host_rsa_key
#HostKey /etc/ssh/ssh_Host_dsa_key
#HostKey /etc/ssh/ssh_Host_ecdsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
#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

# For this to work you will also need Host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and 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

# Change to no to disable s/key passwords
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

# 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'.
#UsePAM no

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no
#ChrootDirectory 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
#   X11Forwarding no
#   AllowTcpForwarding no
#   ForceCommand cvs server
# PubkeyAcceptedKeyTypes ssh-ed25519*

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no

Die einzigen nicht standardmäßigen Einträge sind die unteren drei Zeilen, die sollte die Kennwortauthentifizierung deaktivieren . Nachdem ich die Datei geändert habe, gehe ich zu den Diensten und starte ssh-agent, SSH Server Broke Und SSH Server Proxy Neu, in der Hoffnung, dass sie die Änderungen in der Konfigurationsdatei sehen. Ich benutze dann PuTTY, um zu localhost zu ssh. PuTTY fragt nach meinem Benutzernamen, fragt dann aber nach meinem Passwort und stellt eine erfolgreiche Verbindung her, wenn ich es eingebe.

Wie kann ich in der neuen SSH-Funktion von Windows 10 die Kennwortauthentifizierung deaktivieren?

10
Corey Ogburn

In Windows 10 v1803 (auch bekannt als 17134.191) hat sich dies geändert.

Bearbeiten Sie c:\ProgramData\ssh\sshd_config (auch bekannt als% PROGRAMDATA%\ssh\sshd_config).

4
Adam Dunsford

Sie stellen fest, dass Sie den Dienst "SSH Server Proxy" haben - dieser Dienst ist nicht Teil der optionalen Funktion "OpenSSH Server (Beta)" in Windows 10 Fall Creators Update (v1709). Es ist Teil des Windows Developer-Modus. Ich frage mich, ob dies (möglicherweise in Kombination mit WSL) dazu führt, dass Sie unbeabsichtigt eine Verbindung zu einem anderen OpenSSH-Server herstellen und warum die Konfiguration anscheinend nicht eingehalten wird.

Versuchen Sie, den Dienst "SSH Server Proxy" zu stoppen oder zu deaktivieren, und prüfen Sie, ob sich das Verhalten ändert, oder passen Sie alternativ die Portnummer in Windows\System32\OpenSSH\sshd_config auf einen nicht standardmäßigen Port an und testen Sie sie erneut.

Ich habe gerade ein Labor Windows 10 v1709 VM) bereitgestellt, um dies zu testen, und kann dies bestätigen, indem ich die Zeile "# PasswordAuthentication yes" auskommentiere (und den Wert auf "no" umschalte), die nur einen sshd enthält Beim Neustart des Dienstes werden kennwortbasierte Anmeldungen blockiert.

Die einzigen Dienste, die "OpenSSH Server (Beta)" mir bietet, sind "sshd" und "ssh-agent". Neue VM, ohne Windows Developer Mode oder WSL/Bash unter Ubuntu aktiviert.

2
Joshua McKinnon