PowerShell / PowerShell/Win32-OpenSSH
Windows Server 2019 OpenSSH SFTP Server Won't Authenticate Users Anymore (Connection Reset)
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 8.3k
- Forks
- 819
- PR merge metrics
- No merged PRs in 30d
Description
I am running Microsoft Windows Server 2019 Datacenter Version 10.0.17763 Build 17763 on Azure and I had SFTP working just fine until EITHER a recent update and reboot on Windows OR an SFTP username (the "vendor1" user) password change on ActiveDirectory clobbered this working install of OpenSSH.
Now when attempting to SFTP from a client machine, all I get is,
Connection reset by xxx.xxx.xxx.xxx port 22
Connection closed
What could be wrong? Has anyone else experienced this and solved it?
Here's my sshd_config file, which was working:
# 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 F:\SFTP-Welcome.txt
#Banner /SFTP-Welcome.txt
# 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
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
#DenyGroups company\vendors company\auditors
#AllowGroups company\administrators
Match Group vendors
ChrootDirectory F:\Vendors
#ChrootDirectory F:\Vendors\%u
#ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
# no default banner path
#Banner F:\Vendors\SFTP-Welcome.txt
#Banner /SFTP-Welcome.txt
Using the -v (verbose) option in my SFTP command (sftp -v vendor1@its.my.ip.addr) yields:
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: C:\Users\mylocalusername/.ssh/id_rsa
debug1: Trying private key: C:\Users\mylocalusername/.ssh/id_dsa
debug1: Trying private key: C:\Users\mylocalusername/.ssh/id_ecdsa
debug1: Trying private key: C:\Users\mylocalusername/.ssh/id_ed25519
debug1: Trying private key: C:\Users\mylocalusername/.ssh/id_xmss
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such file or directory
vendor1@its.my.ip.addr's password:
debug1: Authentication succeeded (password).
Authenticated to its.my.ip.addr ([its.my.ip.addrr]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
Connection reset by its.my.ip.addr port 22
Connection closed
That user "mylocalusername" is my local client PC Windows login name. I've attached both server and client debug logs. For the server logging, I edited my ssd_config to have:
# Logging
SyslogFacility LOCAL0
LogLevel DEBUG3
and got the output of my C:\ProgramData\ssh\logs\sshd.log in the attached, renamed server logfile.
SSHD Debug 4 Client Side.txt
SSHD Debug 4 Server Side.txt
Troubleshooting steps
Just try to login with any SFTP client (this used to work just fine a few days ago).
Terminal issue? please go through wiki
Nope.
Please answer the following
"OpenSSH for Windows" version
7.7.2.2
Server OperatingSystem
Windows Server 2019 Datacenter
Client OperatingSystem
Windows 10 Pro
What is failing
SFTP logins
Expected output
Successful login
Actual output
Connection reset by server.public.ip.addr port 22
Connection closed
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the supplied sshd_config and the attached server and client debug logs, including C:\ProgramData\ssh\logs\sshd.log. Reproduce the failure with sftp -v vendor1@its.my.ip.addr and trace what happens after password authentication and before the SFTP session starts. Done means the vendor1 account can authenticate and establish an SFTP session without the connection reset.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure
- Domain
- authentication, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100