Windows 10 ssh menonaktifkan otentikasi kata sandi?

10

Windows 10 baru-baru ini menambahkan OpenSSH sebagai fitur Windows opsional. Saya telah menemukan file konfigurasi C: \ Windows \ System32 \ OpenSSH \ sshd_config dan memberi saya hak untuk memodifikasinya.

Inilah file yang saya miliki:

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

Satu-satunya entri non-default adalah 3 baris terbawah yang harus menonaktifkan otentikasi kata sandi . Setelah saya mengubah file saya pergi ke layanan dan me-restart ssh-agent, SSH Server Brokedan SSH Server Proxyharapan mereka akan melihat perubahan dalam file konfigurasi. Saya kemudian menggunakan dempul untuk ssh ke localhost. Putty meminta nama pengguna saya tetapi kemudian meminta kata sandi saya dan berhasil menghubungkan ketika saya memasukkannya.

Dalam fitur SSH Windows 10 yang baru, bagaimana cara menonaktifkan otentikasi kata sandi?

Corey Ogburn
sumber
3
Pada Pembaruan Windows 10 April 2018 (versi 1803) file config ada di c: \ ProgramData \ ssh \ sshd_config
Gene Goykhman
Thx @GeneGoykhman. Catatan Anda dapat mengganti lokasi ini di registri Layanan Windows jika Anda mau.
MarcH

Jawaban:

4

Di Windows 10 v1803 (alias 17134.191) telah berubah.

Edit c: \ ProgramData \ ssh \ sshd_config (alias% PROGRAMDATA% \ ssh \ sshd_config)

Adam Dunsford
sumber
2

Anda perhatikan bahwa Anda memiliki layanan "SSH Server Proxy" - layanan ini bukan bagian dari fitur opsional "OpenSSH Server (Beta)" di Windows 10 Fall Creators Update (v1709). Ini adalah bagian dari mode Pengembang Windows - Saya ingin tahu apakah ini (mungkin dikombinasikan dengan WSL) mengarah ke Anda terhubung ke server OpenSSH yang berbeda secara tidak sengaja, dan mengapa tampaknya konfigurasi tidak dihormati.

Coba hentikan atau nonaktifkan layanan "SSH Server Proxy" dan lihat apakah perilakunya berubah, atau alternatifnya, sesuaikan porta # di Windows \ System32 \ OpenSSH \ sshd_config Anda ke port non-standar dan uji lagi.

Saya baru saja menggunakan lab Windows 10 v1709 VM untuk menguji ini, dan dapat mengonfirmasi bahwa dengan membatalkan komentar pada baris "# PasswordAuthentication yes" (dan mengalihkan nilai ke "tidak") yang dengan hanya layanan sshd restart, ia memblokir login berbasis kata sandi .

Satu-satunya layanan "OpenSSH Server (beta)" memberi saya adalah "sshd" dan "ssh-agent". VM segar, tanpa Mode Pengembang Windows atau WSL / Bash di Ubuntu diaktifkan.

Joshua McKinnon
sumber