我为我的 root 用户创建了一个 SSH 公钥。我将其复制到 /root/.ssh/authorized_keys,然后保存。
钥匙只有ssh-rsa key
。(它是一排,ssh-rsaSPACEkey
,没有其他空间或刹车)。
/.ssh
是 700。/.ssh/authrozied_keys
是 600。所有者和组与用户名相同。
我可以用 root 身份顺利登录 SSH,我为我的主要用户重复了同样的算法来创建、粘贴和加载密钥,/home/USERNAME
但我无法用它登录- 它显示“没有可用的受支持的身份验证方法”。
笔记:
我确实为这两个用户加载了私钥。
两个密钥都是 ssh-2 rsa。
两个密钥都包含 4096 个字节。
我使用Putty登录,并使用pageant加载私钥。
尝试之前做过
service ssh restart
。
更新 1-相关公钥:
这是我遇到问题的公钥(从 /home/USERNAME/.ssh/authrorized_keys 复制):
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAgEAkJXuWq8xf28ft+kJ8+KJK0he5OftZlBBfKPcNNEU9y2nLn/BWcMrjcrDnf52rLcKIQGJcbk0e8U9+p84tfzlhfjkUTKeUazAKL3k5KSfBbqayue5GXIDAP3Psg2pBN69uOeEr9/RHlJej1z2dmqiCgKcl3gaaBcedA1jclrnTryr0406qFwMJbOx/2ZWY/YAupcL7In0KzG0J6fsS6SSYQhpNZ5JSZchFq/Xbqp68Iz2c/aCTVRaymXQAMYfgzvjxb/j53JlHfMiyWudI754PgpYYzjCls/siO54TZVFIob4mc837rlA6pDV8MSAKBvOVS3u682WTmktXyxvGQYOmouxZ3taX0hAwcJbsk4AYSIEGSVTfSobUfjnZnNFZYOGxPOS90NV/Px9sVZx8PLuAmaXOAezkWasKIn/Gbh5gygdo7TP24yA2Wy/KPL7dHCDXYKY1AmhNW/HXkZwySPHV32dFlgft1bYPEj2tdoijmGscmM+lAUPwQ0Tl8hSWwT/4qX3PvKC0+YTRQl7dLkYenHBgbnuuzgwiBfrNorhYnG2sdFDPh1/Tn7KrYxczs/t/7GS8WPJuFEmBezw2u47KBezkzcvDj5WWqmlUXHLrZNx3EM9KeFTcUf/yJgL3Hex9HdloWIPSCoTF6rWXgJ//1LoktZ0w7qsj9G2hcLOQbk=
更新 2 - 看似相关的 sshd_config 指令
我放了一张图片,因为出于某种原因我无法粘贴从 Putty 剪切或复制的语法:
答案1
公钥的问题几乎总是与权限有关。
检查非 root 用户主目录中 authorized_keys 文件的所有权。您分别提到目录和文件的模式八进制 0700 和 0600。但是,您没有提到所有权。
确保业主不是authorized_keys
对于文件,以及对于,都是root 用户/home/USERNAME/.ssh/
。此外,authorized_keys 文件是公开信息。通常通过八进制 0644 将此文件的读取权限授予所有人。但是,只要您的文件所有权正确,您的权限在这种情况下应该有效。
为了在发生混淆时澄清这一点,发布输出# ls -la /home/<USERNAME>/.ssh/
将消除对权限的任何疑问。