ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SSH服务理论+实践

2019-04-09 19:40:49  阅读:154  来源: 互联网

标签:公钥 服务 实践 SSH 远程管理 远程 ssh


1)远程管理服务知识介绍   

  SSH远程登录服务介绍说明
    01. SSH-Secure Shell Protocol 安全加密shel协议
  SSH远程登录服务功能作用
    01. 提供类似telnet远程登录管理服务器功能
    02. 提供类似FTP文件传输服务功能的sftp-server,借助SSH服务加密传输数据
  SSH远程登录服务排错思路
    01. 检查链路是否通畅---ping(icmp禁用了,也ping不通)
    02. 检查链路是否阻断---tracert/traceroute
    03. 检查服务是否开启---ss/netstat -lntup

2)远程管理服务对比说明   

  SSH远程登录服务特点说明
    01. SSH服务端口号信息为22
    02. SSH服务采用密文方式传输数据
    03. SSH服务默认支持root用户进行远程登录
  Telnet远程登录服务功能作用
    01. telnet服务端口号信息为23
    02. telnet服务采用明文方式传输数据
    03. telnet服务默认不支持root用户进行远程登录
    04.nmap 10.1.1.128 -p 22

3)远程管理服务概念详解

  SSH远程管理服务加密技术     

    ssh连接登录过程原理
      ①. ssh客户端发出连接请求
      >/root/.ssh/known_hosts
      ②. ssh服务端会发出确认信息,询问客户端你是否真的要连接我
      ③. ssh客户端输入完成yes,会等到一个公钥信息
      cat /root/.ssh/known_hosts
      ④. ssh服务端将公钥信息发送给ssh客户端
      ⑤. ssh客户端利用密码进行登录
      ⑥.客户端 vim /etc/ssh/ssh_host_rsa_key.pub 和 服务端 cat /root/.ssh/known_hosts 秘钥是一致的
    ①. 采用公钥和私钥进行算法加密
    ②. 加密技术分为v1和v2两个版本
      sshv1版本不会经常更换锁头和钥匙,因此会有安全隐患
      sshv2版本会经常更换锁头和钥匙,因此提高了远程连接安全性

  SSH远程管理服务认证类型     

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


    基于密钥登录方式部署流程
      第一个里程:在管理主机上创建密钥对信息
      ssh-keygen -t dsa <-- 创建密钥对命令 -t dsa表示指定密钥对加密类型
      Enter file in which to save the key (/root/.ssh/id_dsa): <-- 确认私钥文件所保存的路径
      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 |
      | + . |
       . |
      | |
      | |
      +-----------------+


      第二个里程:将管理主机上公钥信息发送给被管理主机
      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.


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

  SSH远程管理服务配置详解     

    ①. 配置文件端口信息修改
    ②. 配置文件监听地址信息
    vim /etc/ssh/sshd_config
      Port 52113 <- 修改ssh服务端口号信息
      ListenAddress 0.0.0.0 <- 主要作用提升网络连接安全性
      PS:监听地址只能配置为服务器网卡上拥有的地址
      PermitRootLogin no <- 是否允许root用户远程登录
      PermitEmptyPasswords no <- 是否允许空密码
      UseDNS no <- 是否进行DNS反向解析(提升ssh远程连接效率)
      GSSAPIAuthentication no <- 是否进行远程GSSAPI认证(提升ssh远程连接效率)
  

  SSH远程管理服务入侵防范     

    ①. 利用密钥登录提高安全性
    ②. 利用牤牛阵法提高安全性
      ①. 安全设备策略阻止访问,只放开少量服务端口
      ②. 开启SSH监听地址功能,只监听内网网卡地址
    ③. 利用服务器不配置外网IP提高安全性
    ④. 利用授权与系统安装最小化提高安全性
    ⑤. 利用指纹信息对系统重要文件进行加密处理
    ⑥. 利用系统重要文件加锁功能提高安全性

  SSH远程管理服务连接功能     

    ①. SSH远程连接方法--linux客户端连接
      ssh -p22 oldboy@10.0.0.61
    ②. SSH远程连接方法--windows客户端连接
      利用xshell/SecureCRT/Putty软件连接
    ③. SSH远程连接不登录服务器执行命令方法
      ssh -p22 oldboy@10.0.0.61 "free -m"

  SSH远程管理服务复制功能     

    ①. SSH远程复制方法--scp
      scp -P22 -rp /tmp/oldboy oldboy@10.0.0.41:/tmp
    ②. SSH远程复制方法--属于远程全量复制
  

  SSH远程管理服务传输功能     

    ①. SSH远程传输方法--sftp
      ftp -oPort=52113 oldboy@10.0.0.61

 

4)远程管理服务部署说明   

  远程管理服务服务端     

    ①. 服务端需要安装部署openssh-server软件包
    ②. 服务端程序重要文件信息
    ①. 服务启动脚本文件 /etc/rc.d/init.d/sshd
    ②. 服务程序配置文件 /etc/ssh/sshd_config
    ③. 服务守护进程命令 /usr/sbin/sshd   

 

  远程管理服务客户端     

    ①. 客户端需要安装部署openssh-clients软件包
    ②. 客户端程序重要文件信息
      ①. 安全拷贝命令 /usr/bin/scp
      ②. 安全传输命令 /usr/bin/sftp
      ③. 安全登录命令 /usr/bin/ssh
      ④. 创建私钥命令 /usr/bin/ssh-keygen
      ④. 传输公钥命令 /usr/bin/ssh-copy-id


5)远程管理服务免秘管理

  远程管理服务端     

    ①. 创建密钥对信息(免交互与交互方式)
    ②. 分发公钥信息(免交互和交互方式)
    ③. 测试远程登录受控端是否免密码   

  远程管理受控端     

    ①. 验证是否已经接收到分发公钥信息

标签:公钥,服务,实践,SSH,远程管理,远程,ssh
来源: https://www.cnblogs.com/heiyizixia/p/10679107.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有