作业:通过两台linux主机配置ssh实现互相免密登陆

做题步骤

一.开启两个Linux主机,并且用ssh连接,要能够ping通

我这里是server:192.168.81.129 client:192.168.81.130 举例

操作如下:

二.在客户端上创建一对密钥
复制代码
#创建命令---我这里使用的是非对称密钥:
[root@client ~]# ssh-keygen -t rsa

注意:可以看到这对密钥是放在/root/.ssh/id_rsa.pub文件下的,公钥的名字是id_rsa.pub

2.查看一下密钥对

[root@client ~]# ll .ssh/

第一个是私钥,第二个是公钥

三.把公钥发送给server的.ssh下的一个叫authorized keys目录里

有两种方式:

复制代码
1.使用scp命令 --- 跨主机
​
2.使用ssh-copy id + 接收方IP

1.推荐第二种:

这里的密码默认为server登录时的密码!

2.可以查看server是否接收到了公钥:

(图中第一条就是接收到的公钥)

known_hosts:该文件是存放client发送的公钥内容

另外一种方法scp写一下:

复制代码
[root@client ~]# scp .ssh/id_rsa.pub 192.168.81.129: /root/.ssh/authorized keys

注意:可能scp发送的话,server中没有authorized keys这个目录,我们就需要手动创建一个,用mkdir(这里就不详写了)

四.验证一下client是否可以访问到server
复制代码
[root@client ~]# ssh 192.168.81.129

可以看到不需要任何密码就可以连到server了!!

相关推荐
宁zz16 小时前
乌班图安装jenkins
运维·jenkins
大丈夫立于天地间17 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg501717 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影17 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain17 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon18 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu18 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
@郭小茶19 小时前
docker-compose方式部署docker项目
运维·docker·容器
GalaxyPokemon19 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++