专栏首页小白博客LINUX运维学习之综合架构篇——综合架构远程管理服务(SSH)

LINUX运维学习之综合架构篇——综合架构远程管理服务(SSH)

1、远程管理服务概念

SSH是一个安全的远程连接,它的数据信息是加密的,端口号为22,SSH服务默认可以为root用户连接。 TELNET是一个不安全的远程连接,它的数据信息为明文,端口号为23,默认不可以用root用户连接。

2、SSH服务连接工作原理(数据加密)

(1)客户端 执行远程连接命令 (2)客户端 服务端 建立三次握手过程 (3)服务端 让客户端进行确认是否接收服务端公钥信息 (4)客户端 进行公钥确认,接收公钥信息 (5)服务端 让客户端确认登录用户密码信息 (6)客户端 进行密码信息确认 (7)客户端 服务器 远程连接建立成功

3、私钥和公钥的作用:

  1. 利用私钥和公钥对数据信息进行加密处理
  2. 利用公钥和私钥进行用户身份认证 基于密码的方式进行远程连接: 公钥和私钥只能完成数据加密过程

基于秘钥的方式进行远程连接: 公钥和私钥可以完成身份认证工作

4、SSH远程连接方式

  • 基于口令的方式进行远程连接,连接比较麻烦 不太安全
  • 基于密钥的方式进行远程连接,连接方便 比较安全

基于秘钥方式连接过程(原理)

  1. 客户端(管理端) 执行命令创建秘钥对
  2. 客户端(管理端) 建立远程连接(口令),发送公钥信息
  3. 客户端(管理端) 再次建立远程连接
  4. 服务端(被管理端) 发送公钥质询信息
  5. 客户端(管理端) 处理公钥质询信息,将质询结果返回给服务端
  6. 服务端(被管理端) 接收到质询结果,建立好远程连接

5、SSH实现基于密钥连接的部署步骤

(1)创建一个密钥对信息

    ssh-keygen -t dsa

(2)管理端需要将公钥进行分发

    ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.31

(3)远程测试

    ssh root@172.16.1.31 hostname
    ssh 172.16.1.31

6、如何不用交互输入密码信息

(1)安装软件

    yum install -y sshpass

(2)执行免交互式分发公钥信息

    sshpass -p 123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41

(3)如何不要输入连接yes或no的确认信息

    ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41 "-o StrictHostKeyChecking=no"

(4)服务端口号发生变化

    sshpass -p 123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41 "-o StrictHostKeyChecking=no"

7、分发公钥脚本

    vim fenfa_pub_key.sh
    #!/bin/bash
    for ip in {7,31,41}
    do
       echo "================= host 172.16.1.$ip pub-key start fenfa ======="
       sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.$ip "-o StrictHostKeyChecking-no" &>/dev/null
       echo "host 172.16.1.$ip fenfa success"
       echo "================= host 172.16.1.$ip fenfa end ==================="
       echo ""
    done

8、SSH服务配置文件

    /etc/ssh/sshd_config
    Port 22                   --- 修改服务端口信息
    ListenAddress 0.0.0.0     --- 监听地址 指定一块网卡能够接受远程访问请求  
                                  PS: 指定监听地址只能是本地网卡上有的地址
    PermitEmptyPasswords no   --- 是否允许远程用户使用空密码登录,默认不允许
    PermitRootLogin yes       --- 是否禁止root用户远程连接主机 建议改为no
    GSSAPIAuthentication no   --- 是否开启GSSAPI认证功能 不用的时候关闭 
    UseDNS no                 --- 是否开启反向DNS解析功能 建议进行关闭

9、SSH远程服务防范入侵的案例

1、用密钥登录,不用密码登陆 2、牤牛阵法:解决SSH安全问题 a.防火墙封闭SSH,指定源IP限制(局域网、信任公网) b.开启SSH只监听本地内网IP(ListenAddress 172.16.1.61)。 3、尽量不给服务器外网IP 4、最小化(软件安装-授权) 5、给系统的重要文件或命令做一个指纹 /etc/passwd md5sum 11110000aaaabbbb 监控 inotify /bin 监控 6、给他锁上 chattr +i PS:SSH相关的命令总结

    ssh-keygen
    ssh-copy-id
    sshpass 
    ssh 
    scp 
    sftp 172.16.1.41
    ls       查看远程ftp服务器信息
    cd   --- 查看远程ftp服务器信息
    lls      查看本地ftp客户端信息
    lcd  --- 查看本地ftp客户端信息
    get  --- 下载信息
    put  --- 上传信息
    help --- 查看命令帮助
    bye  --- 退出ftp连接

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LINUX运维学习之综合架构篇——综合架构实时同步服务

    1)需要部署好rsync守护进程服务,实现数据传输 2)需要部署好inotify服务,实现目录中数据变化监控 3)将rsync服务和inotify服务建立联系,...

    小黑Sir
  • LINUX运维学习之综合架构篇——Ansible 批量管理服务上

    1、主机清单配置 2、 软件模块信息 3、 基于秘钥连接主机 4、 主机需要关闭selinux 5、 软件剧本功能 7、a...

    小黑Sir
  • LINUX运维学习之综合架构篇——Ansible 批量管理服务(中)

    service模块: 管理服务器的运行状态 停止 开启 重启 name: --- 指定管理的服务名称 state: --- 指定服务状态 started...

    小黑Sir
  • LINUX运维学习之综合架构篇——架构搭建准备

    web服务器:让用户访问需要公网IP地址,域名解析,当访问网站的用户较多,同时写入增多消耗IO,服务器磁盘压力,为了缓解压力,用户在网站的注册等某些字符串信息,...

    小黑Sir
  • LINUX运维学习之综合架构篇——NFS存储服务器概念介绍及搭建

    NFS是网络文件共享系统 它主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录 NFS客户端(一般是应用服务器,例如web)可以通过挂载(...

    小黑Sir
  • JavaEE就业学习路线(给初学者以及自学者一个学习方向)

    第一节java入门 1-Java 背景介绍 2-Java 入门程序的编写 3-环境配置 4-基本概念介绍 5-类型转换 6-开发工具使用 第二节java基础 1...

    Java学习
  • 一篇文章带你解读从初级运维工程师到资深运维专家的学习路线

    对于一个不了解运维究竟是做什么的同学,可能或多或少的有听过相关话题的讨论和经过一番搜索所知有了短浅的认识。原来运维就是每天很苦逼的在机房工作,甚至可能干着一些搬...

    杰哥的IT之旅
  • 转:成为Java高级程序员需要掌握哪些?

    1、Core Java,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,...

    技术zhai
  • 腾讯云“开发者实验室”与“DCDB”产品揽获工信部信通院两大年度奖项

    11月17日,由高效运维社区主办的GOPS全球运维大会暨第二届中国运维行业年度盛典隆重召开,全球运维大会也是中国首个专属运维行业的盛会,面向互联网及传统行业的广...

    云加社区
  • 大数据技术学习路线

    加米谷大数据
  • 成为java高级程序员需要掌握哪些

    精讲java
  • JavaEE课程概述 && JavaEE基础班课程概述 && JavaEE就业班课程概述

    黑泽君
  • 什么是linux云计算?用来做什么?

    什么是linux云计算?云计算基于互联网的相关服务的增加、使用和交付模式,涉及通过互联网来提供动态容易扩展而且虚拟化的资源。随时随地、便捷地、随需应变从可配置计...

    用户8639654
  • 2019精炼的大数据技术学习路线

    近年来大数据BigData、人工智能AI、物联网Iot等行业发展迅猛,很多人都想要从事大数据技术开发工作,但是,请问要怎么做,路线是什么?从哪里开始学?学哪些?...

    用户2292346
  • Docker 世界中的配置管理:5分钟让你明白如何在Puppet,Chef,Ansible之间选择

    本文翻译并节选自《DevOps2.0的工具集(DevOps黑宝书)——打造自动化的持续交付流程》一书,转自译者CSDN博客,转载请注明出处,译者:胡帅。

    DevOps时代
  • 初级Java程序员需要掌握哪些主流技术才能拿20K?

    傻呀,干嘛不使用全文检索工具lucene或者分布式搜索Elasticsearch来优化搜索服务。

    程序猿DD
  • Docker世界中的配置管理:5分钟让你明白如何在Puppet,Chef, Ansible之间选择

    译者点评: 微服务的运用,小型化团队(Two-pizza team)理念的倡导使更多的公司采用研制周期(Lead Time)来衡量DevOps团队的执行效率。在...

    yuanyi928
  • 和我去京东的机房走一走 | 11·11 倒计时

    “ IT资源服务”:京东商城、物流、金融、科技等京东所有业务的基层支持,有关基础IT资源的一切,包括设备采购的需求对接、部分IT设备的实际采购、机房服务器上架、...

    京东技术
  • 【腾讯云的1001种玩法】利用云服务器资源进行网络服务

    经典游戏的html5版本,可以在cross-device设备上面运行,在无聊的休息时间,输入网址,即可畅玩经典游戏。如吃豆人、水果忍者、俄罗斯方块等。 根据游戏...

    云加社区

扫码关注云+社区

领取腾讯云代金券