请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

[ssh]客户机必须指定私钥才能免密码登录服务器

客户机正常操作生成密钥对,且正常上传到远端服务器。但客户机还是不能使用如下方式免密钥登录服务器

ssh root@xx.xx.xx.xx

执行上述内容之后还是提示需要输入密码


必须使用指定私钥方式才行

ssh -i 私钥 root@xx.xx.xx.xx

分析可能原因是客户机.ssh目录中没有默认密钥对文件(没有id_rsa和id_rsa.pub),就是类似如下

authorized_keys     config     id_rsa_srv     id_rsa_svr.pub     known_hosts

id_rsa_srv 和id_rsa_svr.pub是我在客户机用ssh-keygen生成的,并且使用ssh-copy-id将id_rsa_svr.pub上传到服务器的。
但是这样的方式,客户机只能指定私钥进行免密码登录,就是如下操作

ssh -i id_rsa_srv root@xx.xx.xx.xx

随后,我将id_rsa_srv 和id_rsa_svr.pub删除,重新生成密钥对,使用默认文件名称,然后上传id_rsa.pub,.ssh目录内容如下

authorized_keys     config     id_rsa     id_rsa.pub     known_hosts

这样之后,客户机就可以不需要指定私钥免密码登录了,就是直接使用下面的

ssh root@xx.xx.xx.xx

以上原因不详,需要求解释。

正在回答

2回答

你是登录哪个服务器啊?

1 回复 有任何疑惑可以回复我~
  • 提问者 慕少7118645 #1
    我本地客户机是虚拟机中的Centos7 服务器版本(就是只有黑框框,没有桌面系统)。
    远端的服务器是阿里云的云服务器
    回复 有任何疑惑可以回复我~ 2020-03-12 18:27:43
  • 提问者 慕少7118645 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-03-13 10:27:31
提问者 慕少7118645 2020-03-13 10:27:22

更新一下:

客户机:本地vm虚拟机Centos7服务器版

服务器:阿里云ECS,Linux Centos7


客户机ssh免密访问服务器,客户机向服务器传递的公钥文件好像只能是id_rsa.pub,只能这样才能实现SSH免密登录。


我在客户机试过生成id_rsa_aliyun、id_rsa_servr这些名字的密钥对,并向服务器传递其公钥。但是都不能实现免密登录,只能指定其私钥才能免密登录。


很奇怪,暂时不纠结了,其它同学们有时间也可以试试!

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
Linux核心技能与应用
  • 参与学习       2060    人
  • 解答问题       697    个

一网打尽Linux必备核心技能,面试、升职必备的“敲门砖”。

了解课程
意见反馈 帮助中心 APP下载
官方微信