SSH远程连接基于用户名密码与基于密钥验证

本文深入解析SSH协议,一种用于远程登录和数据传输的安全性协议。详细介绍了SSH的工作原理,包括服务端监听、客户端请求、联机加密认证等过程,并阐述了基于密码口令和基于密钥的两种认证方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是SSH?

       SSH是专门为了远程登录会话和其他网络服务提供的安全性协议,使用SSH协议可以有效的防止远程连接会话的时候出现信息泄密,在数据传输的时候SSH会先对联机的数据包通过加密技术进行加密处理,加密后在进行数据的传输,确保了传输中的安全性,SSH服务主要提供两个服务功能:一个是远程联机的SSH服务,一个是借助SSH协议来传输数据的SFTP服务。

SSH原理阐述

        ① 服务端开启ssh服务监听22端口

   ② 客户端发送联机请求(携带IP和端口)

   ③ 客户端服务端进行联机加密认证

   ④ 认证通过联机成功

SSH的两种认证方式

           ① 基于密码口令的认证

           ② 基于密钥的安全认证

 

基于密码口令的认证

  1. 客户端发起ssh请求
  2. 服务端发送公钥给客户端
  3. 客户端输入用户名和密码,SSH通过公钥加密传给服务器
  4. 服务器通过私钥解密用户名密码,对比成功,允许登录

 

基于密钥的安全认证

准备阶段

  1. 生成密钥对(公钥和私钥)
  2. 将生成的公钥拷贝到需要访问的服务端2上

访问阶段

  1. 服务器1携带用户名、IP,发送链接请求
  2. 服务器2获取到请求后到authorized_keys中查找,如有相应的用户名和IP,则生成一个字符串
  3. 使用从服务器1拷贝过来的公钥对随机产生的字符串加密,发送给服务器1
  4. 使用私钥进行解密
  5. 将解密后的字符串发送给服务器2
  6. 服务器2接受到解密后的字符串与先前生成的字符串作对比,相同则允许免密登录

 

基于密钥验证配置

服务器1生成秘钥对

ssh-keygen -t rsa

将生成的公钥(id_rsa.pub)发送给服务器2(authorized_keys)

ssh-copy-id 服务器2的hostname或ip

基于密钥验证配置是单向的,通过以上配置,服务器1访问服务器2不需要密码验证,但服务器2访问服务器1还是需要密码验证

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值