相同的SSHlogin过程适用于用户A,但不适用于用户B.

我为我的root用户创build了一个SSH公钥。 我将它复制到/root/.ssh/authorized_keys,并保存。

关键只是ssh-rsa key 。 (这是一行, ssh-rsaSPACEkey ,没有进一步的空间或刹车)。

  1. /.ssh是700。

  2. /.ssh/authrozied_keys是600。

  3. 所有者和组与USERNAME相同。

我可以用rootloginSSH,我重复使用相同的algorithm来创build,粘贴和加载密钥,我的主要用户在/home/USERNAME 但是我不能用它login – 它说“没有支持的authentication方法可用”。

笔记:

  1. 我没有为这两个用户加载私钥。

  2. 这两个键都是ssh-2 rsa。

  3. 这两个密钥都包含4096个字节。

  4. 我使用Puttylogin,并使用pageant加载私钥。

  5. 尝试之前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中剪切或复制:

在这里输入图像说明

公钥问题几乎总是与权限相关的。

检查非root用户的主目录中的authorized_keys文件的所有权。 你分别提到0700和0600模式的八进制目录和文件。 但是,你没有提到所有权。

确保所有者不是 root,对于authorized_keys文件,以及对/home/USERNAME/.ssh/ 。 另外,authorized_keys文件是公共信息。 通过八进制0644给这个文件读取权限是很典型的。但是,如果文件的所有权是正确的,那么你的权限应该可以工作。

为了解决这个问题,在发布# ls -la /home/<USERNAME>/.ssh/的输出后,会取消对权限的任何疑问。