putty key -> 连接被拒绝 (权限正常,/var/log/auth.log 为空)

putty key -> 连接被拒绝 (权限正常,/var/log/auth.log 为空)

我已经在这里检查过了: 尝试使用密钥文件进行 ssh 身份验证:服务器拒绝我们的密钥

我做了所有这些

*新的:

  • 通过 ssh-gen 生成密钥Linux 客户端
    • 通过 ssh-copy 将公钥添加到服务器

现在我没有看到任何错误消息,这是 ssh -vvv:
http://pastebin.com/Cxspz5P3

难道认证过程是有顺序的,但是服务器首先尝试验证密码,而不是尝试公钥?


原帖:我迄今为止尝试过的:

  • 在 Windows 客户端中通过 puttygen (v.2015-12-03) 生成密钥:

    • 2048 位,并尝试使用 1024 位的密钥对
  • 从 puttygen 复制一行格式的“openssh 公钥”,

    • 如下行:

      ssh-rsa xxxx... ==
      
    • 将其粘贴到 ubuntu 服务器~/.ssh/authorized_keys

    • 一行用于 2048 位密钥,另一行用于 1024 位密钥

  • 我像这样更改了文件权限:

    chmod 700 ~/.ssh
    chmod 600 authorized_keys
    chmod 700 ~
    chown -R $USER.$USER ~/
    
  • Putty 会话设置:

    • '连接' > '数据' > '用户名' > myuser

    • 'connection' > 'ssh' > 'auth' > PPK 文件

  • 尝试使用 2048 位和 1024 位密钥(以及它们各自的公钥)

  • 也尝试从 localhost ( ssh -i .ssh/mykey myuser@localhost) – 得到同样的/var/log/auth错误:

    Failed publickey for (myuser) from ::1 port 50087
    
  • 增加日志级别/etc/sshd_config:(LogLevel VERBOSE还有更高的价值吗?),然后重新启动。/var/log/auth.log现在给出:

    **Failed publickey for** myuser from xx.xx.xx.xx port xx: RSA xx:xx:xx...
    

系统

  • 尝试连接自:
    • 从 Windows(putty 2015-12-3,密钥是 PPK)
    • 来自 linux/mint 17 (通过 ssh、openssh 密钥)
  • 服务器:Ubuntu 14.04.2 LTS
  • 在 Windows 上由 puttygen 生成的密钥(v.2015-12-03)
  • 还尝试使用“kitty”(油灰叉)
  • 使用密码进行 ssh – 有效。始终有效。

tail -f /var/log/auth.log对于登录失败不显示任何信息,仅显示登录成功和注销的信息。

可以治愈吗?

还有其他方法可以诊断这个问题吗?

问答:

问:什么是“数据”连接?为什么在两种情况下都不使用“ssh”?

A. 它只是 putty 配置中的部分名称。


问:cat /etc/ssh/sshd_config|grep -i author

A. AuthorizedKeys文件 ~/.ssh/authorized_keys


问:ls -lZ .ssh(在服务器上)

drwx------ 2 myuser myuser ? 4096 Dec  5 12:28 .   <---- the .ssh dir
-rw-r--r-- 1 myuser myuser ?  666 Dec  5 12:29 known_hosts
-rw------- 1 myuser myuser ? 1671 Dec  3 12:07 mykey.ssh
-rw------- 1 myuser myuser ?  608 Dec  3 11:47 authorized_keys

答案1

与手动删除标题和换行符相比,转换公钥格式的更不容易出错的方法是使用ssh-keygen如下方法:

ssh-keygen -i -f publickeywithheaders.pub

它应该输出可以附加到authorized_keys文件的内容。

答案2

我以前在 PuTTY 中遇到过这种情况,其中公钥的写法如下(例如您的链接问题):

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "user@computer"
ssh-rsa blah1blah2blah3blah4
blah5blah6blah7blah8
blah9blah10blah11blah12
blah13blah14=user@computer
---- END SSH2 PUBLIC KEY ----

正如您所知,它需要一行,以 开头的一行ssh-rsa。也就是说,删除“BEGIN”行、“注释”行和“END”行。

不过,我不确定你是否这样做了:

ssh-rsa blah1blah2blah3blah4

你需要做的是这样的:

ssh-rsa blah1blah2blah3blah4blah5blah6blah7blah8blah9blah10blah11blah12blah13blah14=user@computer

(即复制包含密钥的所有四行并删除换行符)

相关内容