Mac上ssh localhost免密失败该如何解决

前言

今天准备利用自己的MBP搭建一个Hadoop小集群,结果在Mac上配置完ssh免密登陆的时候,使用ssh localhost测试时,总是弹出输入密码的提示。研究了一番, 记录下解决过程

解决过程

首先使用ssh -v localhost 观察debug信息, 发现publickey这一个阶段一直没有通过(如下):

...
SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: Skipping ssh-dss key /Users/lestat/.ssh/id_dsa - not in PubkeyAcceptedKeyTypes
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
...

因为我生成的时dsa文件,而在日志中我们可以看到
Skipping ssh-dss key /Users/lestat/.ssh/id_dsa - not in PubkeyAcceptedKeyTypes,即该类型的密钥不被接受。
于是马上查了一下为什么会这样, 原来新的openssh版本(7.0+)不推荐使用DSA密钥,而尽可能使用RSA密钥代替。
当然如果你确实需要使用DSA密钥,则需要在客户端的配置文件~/.ssh/config中指明一下设置

PubkeyAcceptedKeyTypes +ssh-dss

当然考虑到以后可能会完全移除对该类型密钥文件的支持,于是决定使用RSA重新生成一遍密钥

顺便记录一下几个与ssh相关的配置文件路径方便以后debug:

  • /etc/ssh/sshd_config
  • /etc/ssh/config
  • ~/.ssh/config

转载于:https://www.cnblogs.com/lestatzhang/p/10611301.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值