记一次Xshell配置ssh免密登录时的问题

时间:2022-02-28 03:22:44

问题:

  今天在配置SSH免密登录连接自己的阿里云服务器,在将RSA加密生成的公钥放到服务器后,用Xshell连接服务,出现所选的用户密钥未在远程主机上注册这样的提示,一时懵逼,不知所措,后面终于找到了问题所在,此次笔记记录解决问题的过程

一配置流程

1.使用Xshell工具RSA加密的方式生成秘钥对:

  如下图所示:在工具选项内选择-"新建用户生成密钥对向导"

记一次Xshell配置ssh免密登录时的问题

  注意:这里的秘钥加密方式有两种,一种是DSA,一种是RSA.要选择秘钥类型为RSA加密方式,因为新版本的openssh默认禁用了dsa

记一次Xshell配置ssh免密登录时的问题

   点击下一步开始生成秘钥对

记一次Xshell配置ssh免密登录时的问题

  密钥对生成完成,需要设置秘钥对的加密密码(这个密码用于给密钥对加密),和登录密码不同

记一次Xshell配置ssh免密登录时的问题

  公钥生成完成,点击按钮,将公钥保存为文件

记一次Xshell配置ssh免密登录时的问题

  同时打开xshell连接属性(连接-用户身份验证-浏览-可以看到生成的私钥,这个私钥就是在登录的时候用于匹配公钥,可以导出到本地,也可以由Xshell管理)

记一次Xshell配置ssh免密登录时的问题

  将生成的公钥(.pub结尾的文件放到服务的.ssh文件夹中,注意这是个隐藏的文件夹)

记一次Xshell配置ssh免密登录时的问题

  选择登录方式(秘钥的方式登录),这里选择与服务器上秘钥对应的私私钥,同时舒服为秘钥加密的密码(在生成秘钥时自己手动设置的)

记一次Xshell配置ssh免密登录时的问题

二.踩坑集锦:

  1.注意:.ssh的文件目录的权限不能为777,可以设置为755 600,就是不能为777,否则使用xshell登录时会出现'所选的用户密钥未在远程主机上注册'这样的提示

    原因是sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。

  2.查看登录日志可以找到问题所在

    日志所在的目录

记一次Xshell配置ssh免密登录时的问题

  3.sshd需要开启PAM 修改/etc/ssh/sshd_config

    设置UsePAM=yes