SSH 设置免密登录遇到的报错, Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

2016-12-06 17:01:09 +08:00
 zzandlove

搞了一个 VPS ,想设置免钥登录,生成私钥和公钥之后,把"#PasswordAuthentication yes" 改成"PasswordAuthentication no" 之后就一直报这个错, Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 搜索了下,权限都 OK , authorized_keys 600 和 644 都试了,.ssh 也是 700 ,就是没办法啊,老报错,求高手解决

39743 次点击
所在节点    程序员
80 条回复
263
2016-12-07 12:11:27 +08:00
@zzandlove 看不清楚楼主两边的环境,根本没法判断啊。 能不能 ls -al 列出 vps 和本地 Mac 的 .ssh 文件夹及里面的内容呢?
murusu
2016-12-07 12:13:15 +08:00
客户端的 ssh_config 看看是不是 GSSAPIAuthentication 设置成 yes ?是的话注释掉看看
263
2016-12-07 12:15:54 +08:00
@263 内容是指文件夹里面的文件,不是文件里面的内容,忘记补充了。
heyli
2016-12-07 12:26:40 +08:00
有可能权限问题
chmod 700 /home/user
chmod 600 /home/user/.ssh/authorized_keys
试试
finian
2016-12-07 12:49:21 +08:00
@zzandlove 远程的 /etc/ssh/sshd_config 配置没有把 `PubkeyAuthentication` 设置为 `no` 吧
zzandlove
2016-12-07 13:40:57 +08:00
@finian 哈哈,都试过咯
zzandlove
2016-12-07 13:43:32 +08:00
@murusu 是 RSAAuthentication ,目前是 yes ,也注释了的
yizhilee
2016-12-07 13:48:09 +08:00
附言写上你的具体操作步骤和两边环境配置吧。
AstroProfundis
2016-12-07 14:11:12 +08:00
呃,话说楼主你还上得去服务器的话先把密码认证打开再调试吧,反正默认也会优先尝试密钥登录,不行再 fallback 到密码上...

然后服务器上 .ssh/ 中文件的权限,和 authorized_keys 里面的密钥是否正确?(除了权限,有没有奇怪的空字符之类的也可以检查下)
AstroProfundis
2016-12-07 14:13:26 +08:00
以及认真的,服务端 yum update 更新一把试试...
ayiis
2016-12-07 14:28:48 +08:00
1. 移动.ssh 这个文件夹到 bak

2. ssh x.x.x.x #随便连一个服务器

3. 询问是否继续时输入 yes #此时 sshd 就会自动创建带有 sshd 上下文的.ssh 文件夹

4. 把 bak 里的 authorized_keys 移动到.ssh

跟 700 , 600 没有关系
douyang
2016-12-07 14:29:14 +08:00
@zzandlove
[root@niaoyun-118-192-147-6 .ssh]#cd /root/.ssh/
[root@niaoyun-118-192-147-6 .ssh]#ssh-keygen
[root@niaoyun-118-192-147-6 .ssh]#ssh-agent
[root@niaoyun-118-192-147-6 .ssh]#ssh-copy-id -i id_rsa.pub root@116.211.105.10

zzandlove
2016-12-07 14:30:41 +08:00
@vultr 哈哈,用这个里面的方法搞定了
zzandlove
2016-12-07 14:31:32 +08:00
问题解决了,我也不知道咋回事,按照 vultr 大神给的链接, https://wiki.centos.org/HowTos/Network/SecuringSSH ,重新配置了下,就好了。。。有需要的收藏这个 url
xuhaoyangx
2016-12-07 14:58:39 +08:00
@zzandlove 其实这个问题还有一种可能是 ip 子网设错导致的,很少见。还是给人留个思路,后辈装的系统,不会手动配固定 ip ,就用系统带的工具配,子网不能填写 255.255.255.0 这类格式,就没填,导致子网默认变成 32 ,虽然系统其他功能都能正常使用上网,但是就是 ssh 用证书无法正常登录,改成正常的子网即可
julyclyde
2016-12-09 18:26:16 +08:00
@xuhaoyangx 掩码产生的不止影响 ssh ,凡是需要判断远近的都会影响
merlinfeng
2017-11-15 16:51:12 +08:00
碰到了相同的问题 @zzandlove 你是删除从新配置的吗
merlinfeng
2017-11-16 15:50:23 +08:00
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

艹 手残 把第三行的注释打开了 再注释 重启 sshd 就好了
lagel
2018-03-29 17:39:03 +08:00
我也遇到过:和楼主配置都差不多。
结果最后发现,我是没有指定:user
ssh 连接的时候,默认使用了本机的 user。
zantop
2019-09-27 17:44:22 +08:00
我是忘了指定 IdentityFile

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/325706

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX