首页 > 其他分享 >第十六天:ssh服务

第十六天:ssh服务

时间:2024-01-29 20:57:07浏览次数:32  
标签:第十六 公钥 服务 登录 ssh 加密 服务端 客户端

一、ssh服务介绍

ssh: secure shell protocol, 22/tcp, 安全的远程登录,实现加密通信,代替传统的 telnet 协议 具体的软件实现:   OpenSSH:ssh协议的开源实现,CentOS 默认安装   dropbear:另一个ssh协议的开源项目的实现 SSH 协议版本   v1:基于CRC-32做MAC,不安全;man-in-middle   v2:双方主机协议选择安全的MAC方式,基于DH算法做密钥交换,基于RSA或DSA实现身份认证 1、公钥交换原理 客户端发起链接请求 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥) 客户端生成密钥对 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密 客户端发送加密后的值到服务端,服务端用私钥解密,得到Res 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥) 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都 会被加密 2、ssh加密通讯原理

 

二、openssh 服务 OpenSSH是SSH (Secure SHell) 协议的免费开源实现,一般在各种Linux版本中会默认安装,基于C/S 结构 Openssh软件相关包:   openssh   openssh-clients   openssh-server 1、客户端 ssh命令

 

 2、其它ssh客户端工具

(1)scp命令

 (2) rsync 命令

 

 (3) sftp命令

 (4)自动登录 ssh工具 sshpass

 3、ssh登录验证方式介绍

ssh服务登录的常用验证方式   用户/口令   基于密钥 基于用户和口令登录验证   1. 客户端发起ssh请求,服务器会把自己的公钥发送给用户   2. 用户会根据服务器发来的公钥对密码进行加密   3. 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功 基于密钥的登录方式    1. 首先在客户端生成一对密钥(ssh-keygen)   2. 并将客户端的公钥ssh-copy-id 拷贝到服务端   3. 当客户端再次发送一个连接请求,包括ip、用户名   4. 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:magedu   5. 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端   6. 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端   7. 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录  4、实现基于密钥的登录方式

 5、 ssh服务器配置

服务器端:sshd 服务器端的配置文件: /etc/ssh/sshd_config 服务器端的配置文件帮助:man 5 sshd_config 常用参数 Port  22     #生产建议修改 ListenAddress ip LoginGraceTime 2m PermitRootLogin yes #默认ubuntu不允许root远程ssh登录 StrictModes yes   #检查.ssh/文件的所有者,权限等 MaxAuthTries   6     #pecifies the maximum number of authentication attempts permitted per connection. Once the number of failures reaches half this value, additional failures are logged. The default is 6. MaxSessions  10         #同一个连接最大会话 PubkeyAuthentication yes     #基于key验证 PermitEmptyPasswords no      #空密码连接 PasswordAuthentication yes   #基于用户名和密码连接 GatewayPorts no ClientAliveInterval 10 #单位:秒 ClientAliveCountMax 3 #默认3 UseDNS yes #提高速度可改为no GSSAPIAuthentication yes #提高速度可改为no MaxStartups    #未认证连接最大值,默认值10  

标签:第十六,公钥,服务,登录,ssh,加密,服务端,客户端
From: https://www.cnblogs.com/dujy/p/17992797

相关文章

  • 记一次MySQL从节点服务器宕机重启后,从节点出现主键冲突异常的处理
    环境MySQL5.7非GTID模式多线程复制。现象某MySQL数据库从节点因故障宕机(因故障直接宕机,非正常关闭),重启之后发现复制状态异常,showslave的结果中Slave_SQL_Running为No,错误代码为1062errorcode,从系统表performance_schema.replication_applier_status_by_worker以及errorl......
  • Dubbo之服务禁用启用逻辑
    一、简介本文主要介绍dubbo里面和服务disable相关的源码流程,方便以后出问题快速定位原因;之前是一套注册中心zk集群,dubbo版本2.7.3,dubbo-admin启用禁用没有问题,现在升级dubbo版本为2.7.22,zk集群搞了2套,发现disable和enable没用了,禁用了依然可以调用,遂研究了下关于disable的相关......
  • 小白都会的幻兽帕鲁服务器搭建教程(详细图文)
    简介:由于幻兽帕鲁游戏的火爆,导致其官方服务器频现游戏卡顿掉线,为了能够正常流畅的体验幻兽帕鲁,有不少人都搭建了幻兽帕鲁服务器(私服),网上虽然也有很多幻兽帕鲁服务器搭建教程,但内容专业性有点高,比较适合有技术基础的玩家,对于小白或者第一次搭建游戏私服的用户而言,理解起来还是......
  • 服务器IP地址的分类
    1、A类IP地址:一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从1.0.0.0到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。2、B类IP地址:一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是......
  • Palword自建服务器 本地Windows服务器+内网穿透+云服务器转发
    前置条件本机配置还不错但是无外网IP云服务器配置不行但是有外网IP思路内网穿透最开始的时候老想着自己做隧道和端口映射结果绕了很多弯路后面才开始挑选工具Frp是我另外一个朋友使用的据说比这个快很多有兴趣可以试试NPS界面友好配置简单赶时间于是选择这一款穿......
  • 和好友一起学习如何3分钟自动化搭建幻兽帕鲁联机服务器]
    和好友一起学习如何3分钟自动化搭建幻兽帕鲁联机服务器《幻兽帕鲁》的意外火爆,源于其巧妙地将各种元素进行融合,形成了一种独特的游戏体验。这款游戏,让人看到了“缝合”游戏的新高度,也让人感叹,原来缝合得当,也能如此吸引人。帕鲁,是游戏中的核心元素,它既是战斗的小精灵,也是生活的......
  • 微服务网关使用
    一、网关常用网关gateway,zuul等。gateway和spring-cloud兼容的更好,约占70%的市场。二、基本使用1、导入gateway网关依赖<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>......
  • 问题ssh 无法传输文件至XXX评估板
    定位问题:(1)ubuntuping目标板无法ping通提示ping:connect:网络不可达;(2)查看虚拟机网络右上角无网络连接图标(3)解决上述问题,删除NetworkManager缓存文件serviceNetworkManagerstoprm/var/lib/NetworkManager/NetworkManager.stateserviceNetworkManagerstart(4)虚拟机......
  • 使用Golang编写Windows服务
    主要是使用”github.com/kardianos/service“这个库它已经处理好了与服务管理器的交互细节,并且自带服务安装、卸载、启动、停止等功能,非常齐全了。直接上完整代码:packagemainimport( "log" "os" "syscall" "time" "unsafe" "github.com/kardianos/service")......
  • 服务器分配虚拟内存
    1.打开终端,输入命令sudoswapon-s查看当前交换分区情况。2.如果没有交换分区,则需要创建一个交换分区。可以通过GParted等工具进行创建,也可以通过命令sudoddif=/dev/zeroof=/swapfilebs=1Mcount=2048创建一个大小为2GB的交换文件。3.设置交换文件权限:sudochmod600/sw......