Linux网络服务之SSH服务

Candy独角兽 / 2023-08-07 / 原文

目录
  • SSH服务
    • 1. ssh基础
    • 2. ssh原理
    • 3. 实际操作

SSH服务

1. ssh基础

SSH(Secure Shell)协议

  • 是一种安全通道协议
  • 对通信数据进行了加密处理,用于远程管理

作用:主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

SSH客户端<——网络——>SSH服务端

优点:

  • 数据传输是加密的,可以防止信息泄漏
  • 数据传输是压缩的,可以提高传输速度

2. ssh原理

第一次连接时,客户发起请求,服务端会生成一个会话id

会将会话id和服务端的公钥交给客户端

客户端得到服务端的私钥和会话id

客户端用户会话id+客户端自己的公钥=一个值=a

将这个值 用服务端的公钥加密

服务端的公钥+a=b

将这个b给服务端

服务端得到b后

b-公钥=a 会话id 已知

a-会话id=客户端公钥

白名单:加进来 才可以,默认拒绝所有

黑名单:加进来才不可以,默认允许所有

[root@localhost ~]#ssh-keygen  

#生成密钥文件  -t代表指定加密方式  如果不指定 默认ras加密算法
免密登录

第一步生成密钥文件

ssh-keygen  [-t 指定加密方式]



Enter file in which to save the key(/root/.ssh/id_rsa):

#选择  密钥文件存放的位置  默认在当前用户家目录下 .ssh文件夹中
会生成两个文件 带.pub是公钥需要传给服务器

Enter passphrase(empty for no passphrase):
#对密钥文件进行加密,如果设置了密码  一般不设置密码直接回车

最后会生成两个文件  密钥文件

ssh-copy-id -i 服务器地址  将密钥传过去


3. 实际操作

客户端IP地址:192.168.8.100

服务端IP地址:192.168.8.100

[root@localhost ~]#ssh-keygen
#生成密钥文件

[root@localhost ~]#ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.8.106
#复制公钥文件

[root@localhost ~]#ssh 192.168.8.106
#登录服务器成功