【发布时间】:2015-07-15 20:08:41
【问题描述】:
我在两台不同的机器上运行一个简单的命令:
ssh -vvvT git@github.com
在一台机器上,这是可行的。在另一台机器上,ssh 失败并显示以下消息:
debug1: Server accepts key: pkalg ssh-rsa blen 535
debug2: input_userauth_pk_ok: fp bd:5a:d9:2b:d0:36:1c:f1:dc:f8:83:05:17:b9:04:e0
debug3: sign_and_send_pubkey: RSA bd:5a:d9:2b:d0:36:1c:f1:dc:f8:83:05:17:b9:04:e0
debug1: key_parse_private2: missing begin marker
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug2: no passphrase given, try next key
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
我在两台机器上使用相同的私钥。私钥具有开始标记(即 -----BEGIN RSA PRIVATE KEY-----)。私钥是在没有密码的情况下生成的。 .ssh 目录的权限在两台机器上是相同的 (700)。私钥文件的权限在两台机器上是相同的 (600)。这是我的 .ssh/config 的内容:
Host github.com
StrictHostKeyChecking no
IdentityFile ~/keyfile
我完全不明白为什么输出显示“缺少开始标记”,为什么它试图读取密码,当然为什么它完全失败了。有什么我应该尝试帮助诊断此问题的吗?
【问题讨论】:
-
您确定两个键相同吗?您可以通过
md5sum ~/keyfile查询。空格真的很重要 -
是的,md5 匹配。
-
您能否再次检查非工作主机的 ssh 配置中的 IdentityFile 条目?也许它没有读取您认为的文件。
-
@Kenster Doh!它指向一个旧文件。谢谢!
标签: ssh