无法获得公钥登录以在 Windows 10 ssh 服务器上工作 [英] Unable to get public-key login to work on Windows 10 ssh server

查看:20
本文介绍了无法获得公钥登录以在 Windows 10 ssh 服务器上工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经安装了 Windows 10 ssh 包并设置了 sshd.使用密码登录效果很好,但我无法使用公钥登录.我在 .\ssh\authorized_keys 中有相同的 authorized_keys 文件,就像我在公钥登录效果很好的 Linux 机器上一样.我也跑了:

I've installed the Windows 10 ssh package and set up sshd. Logging in with a password works great, but I'm unable to get public-key login to work. I have the same authorized_keys file in .\ssh\authorized_keys as I to on Linux boxes where public-key login works great. I also ran:

PS C:\Users\ffoobar> Repair-AuthorizedKeyPermission .\.ssh\authorized_keys
  [*] .\.ssh\authorized_keys

'NT SERVICE\sshd' needs Read access to '.\.ssh\authorized_keys'.
Shall I make the above change?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y
'NT SERVICE\sshd' now has Read access to '.\.ssh\authorized_keys'.
      Repaired permissions

PS C:\Users\ffoobar> Repair-AuthorizedKeyPermission .\.ssh\authorized_keys
  [*] .\.ssh\authorized_keys
      looks good

PS C:\Users\ffoobar> 

C:\ProgramData\ssh\sshd_config中,我设置了PubkeyAuthentication yes.

尝试登录会出现:

ffoobar@snorri .ssh % ssh -vvvT ffoobar@vorlon.local
OpenSSH_7.9p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/ffoobar/.ssh/config
debug1: /Users/ffoobar/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: resolving "vorlon.local" port 22
debug2: ssh_connect_direct
debug1: Connecting to vorlon.local [192.168.11.130] port 22.
debug1: Connection established.
debug1: identity file /Users/ffoobar/.ssh/id_rsa type 0
debug1: identity file /Users/ffoobar/.ssh/id_rsa-cert type -1
debug1: identity file /Users/ffoobar/.ssh/id_dsa type -1
debug1: identity file /Users/ffoobar/.ssh/id_dsa-cert type -1
debug1: identity file /Users/ffoobar/.ssh/id_ecdsa type -1
debug1: identity file /Users/ffoobar/.ssh/id_ecdsa-cert type -1
debug1: identity file /Users/ffoobar/.ssh/id_ed25519 type 3
debug1: identity file /Users/ffoobar/.ssh/id_ed25519-cert type -1
debug1: identity file /Users/ffoobar/.ssh/id_xmss type -1
debug1: identity file /Users/ffoobar/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_for_Windows_7.7
debug1: match: OpenSSH_for_Windows_7.7 pat OpenSSH* compat 0x04000000
debug2: fd 5 setting O_NONBLOCK
debug1: Authenticating to vorlon.local:22 as 'ffoobar'
debug3: hostkeys_foreach: reading file "/Users/ffoobar/.ssh/known_hosts"
debug3: record_hostkey: found key type ED25519 in file /Users/ffoobar/.ssh/known_hosts:66
debug3: load_hostkeys: loaded 1 keys from vorlon.local
debug3: order_hostkeyalgs: prefer hostkeyalgs: ssh-ed25519-cert-v01@openssh.com,ssh-ed25519
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com,zlib
debug2: compression stoc: none,zlib@openssh.com,zlib
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
debug2: host key algorithms: ssh-ed25519
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none
debug2: compression stoc: none
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: Server host key: ssh-ed25519 SHA256:HKwG3MKIM8Tu2wB3RZ73LKvX0JpqsB0Sq0J5JV3TCFE
debug3: hostkeys_foreach: reading file "/Users/ffoobar/.ssh/known_hosts"
debug3: record_hostkey: found key type ED25519 in file /Users/ffoobar/.ssh/known_hosts:66
debug3: load_hostkeys: loaded 1 keys from vorlon.local
debug3: hostkeys_foreach: reading file "/Users/ffoobar/.ssh/known_hosts"
debug3: record_hostkey: found key type ED25519 in file /Users/ffoobar/.ssh/known_hosts:66
debug3: load_hostkeys: loaded 1 keys from 192.168.11.130
debug1: Host 'vorlon.local' is known and matches the ED25519 host key.
debug1: Found key in /Users/ffoobar/.ssh/known_hosts:66
debug3: send packet: type 21
debug2: set_newkeys: mode 1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey after 134217728 blocks
debug1: Will attempt key: /Users/ffoobar/.ssh/id_rsa RSA SHA256:NY5qJAraXE9NG58jhLCyHH1maklNoGX7K+IXAIROnjc
debug1: Will attempt key: /Users/ffoobar/.ssh/id_dsa 
debug1: Will attempt key: /Users/ffoobar/.ssh/id_ecdsa 
debug1: Will attempt key: /Users/ffoobar/.ssh/id_ed25519 ED25519 SHA256:Lwuq6lm1GXb7PEn/Wj41OAAeMdgUXVOA4t7vBkfdtmg
debug1: Will attempt key: /Users/ffoobar/.ssh/id_xmss 
debug2: pubkey_prepare: done
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug3: start over, passed a different list publickey,password,keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/ffoobar/.ssh/id_rsa RSA SHA256:NY5qJAraXE9NG58jhLCyHH1maklNoGX7K+IXAIROnjc
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /Users/ffoobar/.ssh/id_dsa
debug3: no such identity: /Users/ffoobar/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /Users/ffoobar/.ssh/id_ecdsa
debug3: no such identity: /Users/ffoobar/.ssh/id_ecdsa: No such file or directory
debug1: Offering public key: /Users/ffoobar/.ssh/id_ed25519 ED25519 SHA256:Lwuq6lm1GXb7PEn/Wj41OAAeMdgUXVOA4t7vBkfdtmg
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /Users/ffoobar/.ssh/id_xmss
debug3: no such identity: /Users/ffoobar/.ssh/id_xmss: No such file or directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug3: send packet: type 50
debug2: we sent a keyboard-interactive packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug3: userauth_kbdint: disable: no info_req_seen
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: 
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
ffoobar@vorlon.local's password: 

Windows 事件日志不包含任何有用的信息.更改 SyslogFacilityLogLevel 的默认值会导致 sshd 无法启动.

The Windows event log doesn't contain any helpful information. Changing SyslogFacility or LogLevel from the defaults results in sshd failing to start.

推荐答案

显然,默认情况下它必须是 C:\Program Data\ssh\administrators_authorized_keys

Apparently, by default it has to be C:\Program Data\ssh\administrators_authorized_keys

此外,您需要确保此文件具有有限的权限.作为管理员,删除对文件的继承权限:

Also, you need to make sure this file has limited permissions. As administrator, remove inherited permissions on the file:

C:\ProgramData\ssh>icacls administrators_authorized_keys/inheritance:r

C:\ProgramData\ssh> icacls administrators_authorized_keys /inheritance:r

然后手动为系统和管理员添加读取权限.

Then manually add read permission for SYSTEM and Administrators only.

这篇关于无法获得公钥登录以在 Windows 10 ssh 服务器上工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆