zoukankan      html  css  js  c++  java
  • 五.ssh远程管理服务

    01. 远程管理服务知识介绍
    1) SSH远程登录服务介绍说明
    SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定;
    在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。
    确保了传递的数据安全。
    SSH是专为远程登录会话和其他网络服务提供的安全性协议。
    利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中,
    绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。
    在默认状态下,SSH服务主要提供两个服务功能:

    2) SSH远程登录服务功能作用
     a 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务;
     b 另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务(vsftp,proftp)。

    3) SSH远程登录服务排错思路
       01. 检查链路是否通畅---ping(icmp)/tracert/traceroute
       02. 检查链路是否阻断---将防火墙功能关闭
       03. 检查服务是否开启---ss/netstat -lntup(服务端检查) /telnet/nmap/nc(客户端检查)

    服务开启没有

          

    02. Telnet远程登录服务功能作用  
    SSH远程登录服务特点说明
    Telnet远程登录服务功能作用

    03. 远程管理服务概念详解
    1)SSH远程管理服务加密技术
    ssh连接登录过程
    ①. ssh客户端发出连接请求

    清空 >/root/.ssh/known_hosts
    ②. ssh服务端会发出确认信息,询问客户端你是否真的要连接我
    ③. ssh客户端输入完成yes,会等到一个公钥信息
    cat /root/.ssh/known_hosts

    服务端公钥

    ④. ssh服务端将公钥信息发送给ssh客户端
    ⑤. ssh客户端利用密码进行登录

    加密技术分为v1和v2两个版本
    sshv1版本不会经常更换锁头和钥匙,因此会有安全隐患
    sshv2版本会经常更换锁头和钥匙,因此提高了远程连接安全性

    2)SSH远程管理服务认证类型

    基于密钥方式实现远程登录
        ①. ssh管理服务器上创建密钥对信息(公钥 私钥)
        ②. ssh管理服务器上将公钥发送给被管理服务器
        ③. ssh管理服务器向被管理服务器发送连接请求
        ④. ssh被管理服务器向管理服务器发送公钥质询
        ⑤. ssh管理服务器处理公钥质询请求,将公钥质询结果发送给被管理主机
        ⑥. ssh被管理服务器接收公钥质询响应信息,从而确认认证成功
        ⑦. ssh管理服务端可以和被管理服务端建立基于密钥连接登录

    04. 基于密钥登录方式部署流程
    第一个里程:在管理主机上创建密钥对信息
    ssh-keygen -t dsa <-- 创建密钥对命令 -t dsa表示指定密钥对加密类型
    Generating public/private dsa key pair.
    Enter file in which to save the key (/root/.ssh/id_dsa): <-- 确认私钥文件所保存的路径一般默认
    /root/.ssh/id_dsa already exists.
    Overwrite (y/n)? y <-- 如果已经存在了密钥对信息,是否进行覆盖
    Enter passphrase (empty for no passphrase): <-- 确认是否给私钥设置密码信息(一般为空)
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/id_dsa.私钥
    Your public key has been saved in /root/.ssh/id_dsa.pub.公钥
    The key fingerprint is:
    46:c8:21:b9:99:6e:0c:59:39:66:38:7a:97:29:51:76 root@m01
    The key's randomart image is:
    +--[ DSA 1024]----+
        |     o+oE      |
        |     +.B+ o    |
        |     . B Bo .   |
        |    . = B .       |
        |     . * S         |
        |     + .            |
        |       .             |
        |                     |
        |                     |
    +-----------------+

    私钥dsa  公钥dsa.pub

    第二个里程:将管理主机上公钥信息发送给被管理主机

    给其他用户管理在地址前加用户名

    ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31
    root@172.16.1.31's password:
    Now try logging into the machine, with "ssh '172.16.1.31'", and check in:

    .ssh/authorized_keys

    to make sure we haven't added extra keys that you weren't expecting.

    在非默认22端口是发送公钥会报错解决办法

    在~/.ssh/下创建config文件 在文件中天剑port  [端口号] 就行了

    第三个里程:进行远程管理测试(基于密钥的方式进行远程管理)
    ssh 172.16.1.31 <-- 可以不用输入密码信息,就能登陆成功
    ssh 172.16.1.31 uptime <-- 可以不用登陆到远程主机,就可以直接查看远程主机信息

    # ssh -p17524 -l lianxizc  10.0.0.31< -- -p指定端口号 -l 指定用户

    或者

      都没有默认端口22  默认用户root

    05. SSH服务端配置文件信息说明(/etc/ssh/sshd_config)
        Port 52113 <- 修改ssh服务端口号信息

        

        ListenAddress 0.0.0.0 <- 主要作用提升网络连接安全性 

        默认监听所有网卡地址

        PS:监听地址只能配置为服务器网卡上拥有的地址

        PermitRootLogin no <- 是否允许root用户远程登录

        企业中禁止root用户直接登陆
        PermitEmptyPasswords no <- 是否允许空密码


        UseDNS no <- 是否进行DNS反向解析(提升ssh远程连接效率)


        GSSAPIAuthentication no <- 是否进行远程GSSAPI认证(提升ssh远程连接效率)

    远程管理服务防范

    10. sftp常用操作命令总结

        bye Quit sftp <-- 表示退出sftp传输模式


        cd path Change remote directory to 'path'   <-- 改变远程目录信息


        pwd Display remote working directory         <-- 显示远程主机当前目录信息


        lcd path Change local directory to 'path'       <-- 改变本地目录路径信息


        lpwd Print local working directory                  <-- 输出本地目录路径信息


        get [-P] remote-path [local-path                    Download file <-- 下载文件命令

        put [-P] local-path [remote-path]                    <-- 上传文件命令 Upload file 

     ssh部署 一般系统都有

    服务端

    客户端

    进程端口

    进程是否启动进程号

    端口信息

    思考:
    01. 批量的分发公钥信息,并且采用免交互方式实现
    02. 批量管理(ansible)

  • 相关阅读:
    穷人思维与富人思维
    纯真IP库读取文件
    memcached 分布式 一致性hash算法demo
    纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
    IPhone在横屏字体变大解决办法-webkit-text-size-adjust
    js设计模式---阅读笔记002--接口
    js设计模式---阅读笔记001--富有表现力的js
    关于js继承
    js正则表达式中test,exec,match方法的区别说明
    js获取自定义的属性值
  • 原文地址:https://www.cnblogs.com/cqzhou/p/8964641.html
Copyright © 2011-2022 走看看