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

本文详细介绍了SSH协议的工作流程,包括加密连接、版本协商、密钥交换、用户认证等环节。并指导如何在Linux虚拟机间通过SSH实现安全的免密登录,涉及公钥和私钥的使用以及防火墙设置和端口修改。
摘要由CSDN通过智能技术生成

一、ssh简介

1.SSH用于计算机之间的加密登录,是一类网络协议,使用SSH协议远程登录另一台计算机,这种登录是相对安全的,即使被中途截获,密码不会泄露。

2.工作流程

(1)建立连接:SSH服务器在指定的端口监听客户端的连接请求,在客户端向服务器发起连接请求后,建立一个TCP连接。

(2)协商版本:某些版本可以支持更多的认证方法和密钥交换方法,SSH服务器和客户端通过协商确定最终使用的SSH版本号。

(3)算法协商:双方根据各自支持的算法,协商出最终用于产生会话密钥的密钥交换算法,用于数据信息加密的加密算法、用于进行数字签名和认证的公钥算法。

(4)交换密钥:服务器和客户端通过密钥交换算法,动态生成共享的会话密钥和绘画ID,建立加密通道。会话密钥主要用于后续数据传输的加密,会话ID用于在认证过程中标识该SSH连接。

(5)用户认证:密码(password)认证、密钥(publickey)认证、password-publickey认证(同时满足)、all认证(选择其一)

(6)会话请求和交互:认证通过后,SSH客户端向服务器端发送会话请求,请求服务器提供服务,建立好会话后,SSH服务器端和客户端在该会话上进行数据信息交互。

3.SSH协议主要实现三个功能:

「用户」和「服务器」的合法性验证。确保数据发送到正确的客户机和服务器上。加密数据。保证数据的安全和私密。保护数据的完整性。利用Hash函数验证信息完整性。SSH 原理

SSH之所以能安全通信,是结合了 公钥 和 私钥 两个加密方法。先介绍一下这俩种加密方法。

二、具体配置

1.准备两台Linux虚拟机,一台作为服务端,一台作为用户端使用Xshell远程连接工工具生成公钥文件

2.关闭服务端防火墙

systemctl stop firewalld

3.修改ssh服务的端口号:Port 22(监听端口,默认监听22端口 【默认可修改】)

使用  vim /etc/ssh/sshd_config    进入修改页面

将p一下两个内容的 # 号删除,保存并退出

在配置完成后需要重启:systemctl restart sshd

4.

在客户端,使用“ssh-keygen -t rsa ”命令生成密钥文件

ssh-keygen -t rsa 

 

在对其进行检测:
ll .ssh/

5.在客户端使用 “ssh-copy-id -i root@服务端IP”将密钥文件拷贝给服务端,并输入一次服务器端密码

ssh-copy-id -i root@服务端IP

这时我们可以直接在客户端使用“ll .ssh/”查看密钥是否送达

6.测试是否能够免密登录,“ssh 用户名@目标IP”

ssh root@服务端IP

出现以上内容则表示成功登入服务端

7.用户端免密登录客户端以上同理

8.成功通过两台linux主机配置ssh实现互相免密登入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值