2

I'm trying to setup my Windows 10 machine to be an ssh server by using Win32-OpenSSH. The server is part of a domain, so I use the command

ssh -i ~/.ssh/id_rsa -l user@domain ip_address 

to connect from my ssh client.

This gives an error "Permission denied (publickey,keyboard-interactive)". On the server side, the log reads

sshd: Invalid user user@domain from ip_address port 59676

sshd: Connection closed by invalid user user@domain ip_address port 59676 [preauth]

I have also tried the following variation on the ssh command

ssh -i ~/.ssh/id_rsa domain/user@ip_address 

to try to connect from the client side. I get a "Connection reset by ip_address port 22" error.

If I look at the log on the server side, it says:

sshd: error: lookup_principal_name: User principal name lookup failed for user 'domain\user' (explicit: 5, implicit: 5)"

sshd: error: get_user_token - unable to generate token on 2nd attempt for user domain\user

sshd: fatal: ga_init, unable to resolve user domain\user

How can I resolve this error?

Details

On the server (Windows 10) side:

whoami confirms that my username is domain\user

I'd like to use public key authentication only, so I set the permissions in sshd_config to

PubkeyAuthentication yes PasswordAuthentication no 

All other settings are default. The full sshd_config file follows

# 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 PubkeyAuthentication yes PasswordAuthentication no # GSSAPI options #GSSAPIAuthentication 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 Match Group administrators AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys 

I have the id_rsa.pub appended to the authorized_keys file in the C:\Users\user\.ssh directory. icacls .\authorized_keys returns

C:\Users\user\\.ssh\authorized_keys NT AUTHORITY\SYSTEM:(I)(F) BUILTIN\Administrators:(I)(F) DOMAIN\user:(I)(F) 

On the client (Ubuntu 20.04.3) side:

~/.ssh/id_rsa has the following permissions

-rw------- 1 ubuntu ubuntu 2655 Dec 30 18:16 id_rsa -rw-r--r-- 1 ubuntu ubuntu 576 Dec 30 18:16 id_rsa.pub 
5
  • The permissions on the key on the client must only be given to the owner of the key. Please submit your entire SSHD server configuration Commented Dec 30, 2021 at 19:26
  • The rest of the sshd_config is the default settings but I can include it if desired. Maybe I'm misunderstanding, but it looks to me like only the owner has read/write permissions for id_rsa. Commented Dec 30, 2021 at 19:40
  • Interested if you have the Administrator key commented or uncommented. So are you using the built-in version of OpenSSH? Outwork interest have you tried to authenticate has a local user on the machine. I was suggesting that the key on the server isn’t owned by just the user. Your configuration is apparently backwards to what I thought it was after reading your question again Commented Dec 30, 2021 at 19:46
  • I've added the config file. "AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys" is uncommented. I'm using this version of OpenSSH. Commented Dec 30, 2021 at 21:14
  • First, you need to disable the Administrator key. You should also put the keys in the user directory, and make sure, the the ownership of the key is exclusive to the user you are attempting to use. This SO has a lot of good information. Instead of using the version of OpenSSH you are using, I would use the optional Windows feature instead. Make sure the keys are located within $env:USERPROFILE\.ssh Commented Dec 30, 2021 at 23:04

2 Answers 2

0

Commenting out the

Match Group administrators AuthorizedKeysFile PROGRAMDATA/ssh/administrators_authorized_keys worked for me

1
-1
Match Group administrators AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys 

make these lines a comment line

1
  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center. Commented Apr 1, 2023 at 23:53

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.