美文网首页linux tools
day37课堂笔记(ssh服务)

day37课堂笔记(ssh服务)

作者: 五月_w | 来源:发表于2019-04-23 22:53 被阅读70次

    第一章、思想

    第二章、m01管理机

     1、批量管理(ssh以及ansibe),分发软件、安装软件、运行命令和脚本
     2、跳板机(jumpserver)。就是登录跳板机才能管理其他服务器。
     3、日志审计(jumpserver).
     4、VPN服务,只有连接上VPN才能使用管理机。PPTP
     5、无人值守安装(批量装1000台),kickstart,cobbler
     6、zabbix监控服务,代码发布(git+jenkins)
    

    第三章、ssh服务介绍

    3.1、基本介绍

     古老基础服务,SSH是远程连接linux,管理Linux的服务。
     Secure Shell Protocol 简写 SSH 安全的Shell协议
     使用的默认端口为22(一台机器的不同功能就用端口区分)
    

    3.2、网络服务对应端口介绍

       873   rsync服务
       22    ssh  服务
       25    stmp    邮件发送服务
       110   pop3    邮件接收服务
       80    web      网页服务
       23    telnet
       111   rpcbind
       21    ftp
    ssh协议属于 tcp/ip  协议族
    

    3.3、 远程连接服务:

      telnet数据是明文的,连交换机和路由器,配置。
      telnet ip port 检测端口以及服务是否好的
     ssh协议:在传输过程中数据是加密的。安全的shell协议
     ssh分为服务端和客户端,称之为c/s架构,client/server
     浏览器/服务器。称之为b/s架构,browser/server 大趋势
      ssh服务:客户端/服务端软件
         超市收银:c/s,收银,客户端可以很强大,页面展示都可以在客户端,胖客户端。
        网页服务:b/s  browser/server 瘦客户端,内容展示都是服务端控制的。
    

    3.4、服务端软件(工具)

    image.png

    如果没有yum install openssl openssh -y   安装
    

    配置文件

     ll /etc/ssh/sshd_config
    
    image.png
    image.png

    3.5、ssh客户端工具介绍

    windows下:
          xshell  个人免费,多一些
          secureCRT 收费  很好,之前有过木马问题
           putty
    linux :ssh
    

    3.6、Linux ssh客户端里含有的命令

    image.png

    3.7、ssh客户端命令介绍与实践

    3.71、远程连接Linux

    ssh  -p   22    root@10.0.0.31
    命令 -p 端口    用户@IP
    上述命令相当于ssh 10.0.0.31
    
    image.png
    image.png

    3.7.2、 ssh命令:远程执行命令

    ssh 10.0.0.31 ifconfig
    

    3.73、 scp命令:远程拷贝(secure copy),加密的拷贝

    scp命令参数
        -P  端口
        -r   递归
        -p   保持属性
        -l    限制速度
    

    scp推

    scp -p22 -rp /data root@172.16.1.31:/tmp/
    类似rsync远程shell的推送模式:
    rsync -avz /data root@172.16.1.7:/opt
    rsync -avz /data -e "ssh -p 22" root@172.16.1.7:/opt
    

    scp拉

    scp -P 22 -rp root@172.16.1.7:/tmp/data /tmp/
    类似rsync远程shell的拉取模式:
    rsync -avz root@172.16.1.7:/opt/data /data
    

    对比下scp和rsync

     scp每一次都全量拷贝
     rsync第一次全量,以后增量拷贝,远程shell这也是加密拷贝
    
    image.png

    3.74、sftp(了解即可)

    sftp命令:加密的ftp服务。默认缺点不能锁定家目录
    ftp:vsftp服务。RHCE课程里讲
     sftp  -oPort=22 root@172.16.1.7
    sftp> put "/etc/hosts"    上传远端家目录。
    sftp> put /etc/hosts /tmp 上传远端指定目录/tmp。
    sftp> get /etc/yum.conf   下载到本地家目录。
    sftp> get oldboy.txt /etc 下载到本地指定目录/etc
    sftp 服务也支持windows ftp 客户端:
    winscp,flashftp,xshell也支持
    

    常规和服务器交互数据文件

     rz/sz属于lrzsz
    

    3.8、xshell ssh连不上服务器,如何排查?

     1、ping IP:
           不通:检查物理网络网线,电脑IP设置
           通:检查物理链路通的
    2、telnet  ip   port:
           不通:查服务器端防火墙和ssh服务(ps -ef|grep sshd,netstat -lntup|grep sshd)
    3、检查本地xshell连接的IP端口 协议 密码  用户
    
    image.png

    3.9、ssh服务端

    image.png

    3.10、ssh服务配置优化

    ####Start by oldboy#2018-04-26###
    Port 52113                          使用大于10000的端口
    PermitRootLogin no                  禁止root远程登录,可以su - root,C7需要改yes为no
    PermitEmptyPasswords no             禁止空密码登录,C7默认就是
    UseDNS no                           不使用dns解析,yes改为no
    GSSAPIAuthentication no             禁止连接慢的解决配置
    ListenAddress 172.16.1.61:52113     只允许内网IP连接SSH(172.16.1.0)
    ####End by oldboy#2018-04-26###
    
    image.png

    实践:

    image.png

    安全:

    1、跳板机内网连接,跳板机使用VPN连接,然后内网连接。
    2、防火墙限制只有源IP为内网IP访问22端口
    
    image.png

    3.11、SSH服务通信原理

    ssh协议两个版本:
             ssh  1.x   有漏洞,不用了
            ssh   2.x   主流
    
    image.png
    image.png
    image.png

    客户端密钥位置

    image.png

    3.12、SSH两种认证方式

     1)密码认证pam(用户名、密码登录)
     2)秘钥认证(不需要密码了,使用秘钥文件就可以连接服务器了)。
    

    3.13、秘钥认证:

    image.png

    实践秘钥认证

    项目实践:批量管理、批量分发内容项目

    1、搭建环境

    m01   10.0.0.61(放钥匙)
    web01  10.0.0.7(放锁)
    web01   10.0.0.8(放锁)
    
    image.png

    2、是root用户,还是普通用户oldboy(sudo提权 很麻烦?)就用root用户,保证权限。考虑方便、简单、又能兼顾安全。

     默认端口22,不需要禁止远程root登录,SSH服务监听内网卡(防火墙限制来源IP)
    

    3、开始实践

    1)基于root用户做Linux之间的秘钥认证。
    2)生成密钥对(去超市买把锁),不需要指定服务器。
    3)在61上生成密钥对(方便)。
        ssh-keygen 
    
    image.png
    秘钥对两个算法rsa和dsa,RSA与DSA加密算法的区别
    ssh-keygen -d dsa(指定秘钥-d)
    
        RSA是一种加密算法(PS:RSA也可以进行数字签名的),它的简写的来由是Ron Rivest、Adi Shamir和
    Leonard Adleman,这三个人姓氏的第一个字母连接起来就是RSA。 
        DSA就是数字签名算法的英文全称的简写,即Digital Signature Algorithm,简写就是DSA,
        RSA既可以进行加密,也可以进行数字签名实现认证,而DSA只能用于数字签名从而实现认证。
    
    image.png

    4、把锁放到7/8上

     /usr/bin/ssh-copy-id  #专业拷贝密钥中的公钥文件的。
    
    image.png

    5、ssh-copy-id(专业拷贝秘钥中的文件)原理

    6、测试远程执行命令:

     ssh 172.16.1.7 ifconfig 
     ssh 172.16.1.78ifconfig 
    
    image.png
    image.png

    7.写脚本批量查IP

    for n in 7 8
    do 
       ssh 172.16.1.$n ifconfig
    done
    执行脚本sh /server/scripts/cmd.sh
    
    image.png
    image.png
    image.png

    8、开发脚本批量管理服务器

      for n in 7 8
      do
        echo -------172.16.1.$n----------
        ssh 172.16.1.$n "$1"
     done
    
    image.png
    image.png
    image.png

    9、批量发文件

    image.png
    image.png

    复杂分发文件脚本:

    #!/bin/sh
     . /etc/init.d/functions
    if [ $# -ne 2 ]
    then
     echo "usage:$0 localfileremotedir"
     exit 1
    fi
    for n in 31 41 51
    do
    scp -P 22 -rp $1 root@172.16.1.$n:$2
    if [ $? -eq 0  ]
    then
        action "172.16.1.$n successful" /bin/true
    else
        action "172.16.1.$n failure" /bin/false
    fi
    done
    
    image.png
    image.png
    image.png

    相关文章

      网友评论

        本文标题:day37课堂笔记(ssh服务)

        本文链接:https://www.haomeiwen.com/subject/rzpegqtx.html