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

来源:5-9 SSH免密码登录

慕少7118645

2020-03-12

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

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回答

Oscar

2020-03-12

你是登录哪个服务器啊?

1
2
慕少7118645
非常感谢!
2020-03-13
共2条回复

慕少7118645

提问者

2020-03-13

更新一下:

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

服务器:阿里云ECS,Linux Centos7


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


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


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

0
0

Linux核心技能与应用

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

2108 学习 · 697 问题

查看课程