SSH建立免密通道以及清除原有SSH密钥方法

SSH建立免密通道以及清除原有SSH密钥方法

目录

简介
一、生成密钥
二、建立免密通道
三、查看私钥公钥文件信息
四、验证连接情况
五、常见报错

简介

本文主要实现机器B远程连接机器A,需要将机器A的公钥传输给B。(如若实现A远程连接B,重复步骤修改对象即可)

一、生成密钥

ssh-keygen

然后一路回车即可生成完毕

这里生成的密钥包含自己的公钥以及自己的私钥。

二、建立免密通道(将自己的公钥传给别人,让别人可以免密登录你的服务器)

方式一.已经配置主机别名

ssh-copy-id 别名
例如在A机器内执行

ssh-copy-id B

将A主机的公钥传给B主机

方式二、未配置别名

ssh-copy-id -i id_rsa.pub root@对方ip
例如在A机器内执行如下命令,将自己的公钥传给B机器(B机器的ip地址为192.168.134.141,以root用户登录)

ssh-copy-id  -i /root/.ssh/id_rsa.pub [email protected]

注意:第一次建立连接需要输入密码(对方机器的密码),之后连接不需要了

三、查看私钥公钥文件信息

cd /root/.ssh/

在这里插入图片描述
当没有建立免密通道时只能看到id_rsa文件和id_rsa.pub文件,authorized_keys和known_hosts文件在建立免密通道之后才会有。

1.查看authorized_keys

![在这里插入图片描述](https://img-blog.csdnimg.cn/ea8dd1a1edee4ae48e13dec273958ac0.png
这里存的是其他机器的公钥。

2.查看id_rsa

在这里插入图片描述
此文件存的是自己的私钥。

3.查看id_rsa.pub

在这里插入图片描述
此文件存的是自己的公钥。

4.查看know_hosts

在这里插入图片描述
此文件存放已经连接的主机及对应的公钥。

四、验证连接情况

在B机器上输入
ssh [email protected]
没有出现报错并成功登录上A即可(192.168.134.140为机器A的ip地址)
没有操作后请务必记得及时登出,防止搞混机器。
输入以下命令登出
exit

五、常见报错

1.建立免密通道时报错

自己和对面机器要可以通信,如果不能通信,自己的公钥是无法发送给对面机器的。
ping对方的id地址若显示超时大概率是无法通信,请自己搭建好路由或者修改iptables防火墙等。

2.搭建完成之后连接时报错

ssh [email protected]显示
[root@other ansible]# ssh root@master
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:XKNAZ3JrsoNba9QPGOp+2Ai5R7+2vjgHVUbShbTebiY.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:1
ECDSA host key for master has changed and you have requested strict checking.
Host key verification failed.

则表示机器A公钥已经变化,需要更新A公钥信息。
删除原有的信息:
ssh-keygen -R [A的ip]
然后在A机器上再次执行ssh-keygen,然后ssh-copy-id [email protected]将自己的公钥传给B机器,这样就可以重新建立免密通信啦!

猜你喜欢

转载自blog.csdn.net/zhiyoujiu/article/details/132835376