SSH远程管理

一、SSH远程管理基础

1、什么是SSH服务器?

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

 

2、优点:

  • 数据传输是加密的,可以防止信息泄漏

  • 数据传输是压缩的,可以提高传输速度

 

3、SSH公钥传输原理

 

  • 客户端发起链接请求

  • 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

  • 客户端生成密钥对

  • 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

  • 客户端发送加密值到服务端,服务端用私钥解密,得到Res

  • 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

  • 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

 

4、登录方法

ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port
命令 + 端口号

 

5、文件配置

vim /etc/ssh/sshd_config
#Port 22 生产建议22端口
#AddressFamily any 默认任何地址可访问
#ListenAddress 0.0.0.0 监听所有地址的ipv4地址
#SyslogFacility AUTHPRIV 默认日志位置输出到rsyslog服务的AUTHPRIV中
#Authentication  身份验证模块

#LoginGraceTime 2m          默认验证用户登录失败后等待时间为2秒

#PermitRootLogin yes        默认允许使用root账户登录
#MaxAuthTries 6            默认最多可以尝试连接失败6次
#MaxSessions 10           默认最大可连接10个会话
#PubkeyAuthentication yes      基于key验证默认为开启

  

 二、免密连接

1、免密连接原理


第一步:手动添加客户端的公钥到服务端

第二步:服务端收到客户端的公钥后使用客户端公钥加密一串随机字符串发送给客户端

第三步:客户端收到服务端发送的加密的随机字符串使用自己的私钥解密返回给服务端进行验证

第四步:服务端验证客户端发送来的随机字符串一致则同意建立连接

 

 

 

 将密钥发送给服务器

 

 

 验证免密登录

 

posted @ 2023-01-02 09:26  twistfate123  阅读(54)  评论(0编辑  收藏  举报