我正在尝试通过 SSH 连接到远程服务器,但我不知道我做错了什么。我读过很多帖子、论坛和类似的问题,但没有一个有帮助。
我已采取的步骤:
按照 HostAdvice 的指南安装了 OpenSSH。
使用以下命令生成 SSH 密钥:
ssh-keygen -t rsa -b 4096
使用以下设置修改了 OpenSSH 配置文件:
ChrootDirectory E:\OpenSSH\sftpfile
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
ForceCommand internal-sftp
SyslogFacility LOCAL0
LogLevel DEBUG3
PermitRootLogin no
StrictModes no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile C:\Users\user.name\.ssh\authorized_keys
PasswordAuthentication no
PermitEmptyPasswords no
设置authorized_keys文件和.ssh文件夹的权限如下:
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : NT AUTHORITY\SYSTEM
IsInherited : False
InheritanceFlags : None
PropagationFlags : None
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : False
InheritanceFlags : None
PropagationFlags : None
FileSystemRights : Write, Read, Synchronize
AccessControlType : Allow
IdentityReference : HAVELHOLASEK\user.name
IsInherited : False
InheritanceFlags : None
PropagationFlags : None
错误信息:
debug1: trying public key file
C:\\Users\\user.name\\.ssh\\authorized_keys
debug2: C:\\Users\\user.name\\.ssh\\authorized_keys:1: check options: 'ÿþs'
debug2: C:\\Users\\user.name\\.ssh\\authorized_keys:1: advance: ''
debug2: check_authkeys_file: C:\\Users\\user.name\\.ssh\\authorized_keys: processed 1/1 lines
debug3: mm_answer_keyallowed: publickey authentication test: RSA key is not allowed
Failed publickey for user.name from xx.xx.xx.xx port xxxx ssh2: RSA SHA256:LFNovUmpzpX5fcuvwBwFKYofuOxGTAQo+RuCNcsRr2c
debug2: userauth_pubkey: authenticated 0 pkalg rsa-sha2-512 [preauth]
我不明白为什么不允许使用钥匙。据我所知,OpenSSH 默认阻止 SHA-1,但我没有使用它。
这可能是一个基本问题,但我花了几个小时试图解决它但没有成功。
更新:
更改authorized_keys文件的编码解决了问题,我的密钥现在已被接受。