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服务的最佳实践
		工作中ssh的最佳实践: 不要使用默认端口 禁止使用protocol version 1 (默认centos6/7已经禁止使用第一版了,但是centos5可能还有在用第一版本) 限制可登陆用户 设定空 ... 
- 读书笔记---《Docker 技术入门与实践》---为镜像添加SSH服务
		之前说到可以通过attach和exec两个命令登陆容器,但是如果遇到需要远程通过ssh登陆容器的场景,就需要手动添加ssh服务. 下面介绍两种方法创建带有ssh服务的镜像,commit命令创建和通过D ... 
- 基于 Docker 的微服务架构实践
		本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ... 
- [Java并发编程(四)] Java volatile  的理论实践
		[Java并发编程(四)] Java volatile 的理论实践 摘要 Java 语言中的 volatile 变量可以被看作是一种 "程度较轻的 synchronized":与 ... 
- ICC教程 - Flow系列 - 概念系列 - ECO (理论+实践+脚本分享)
		本文转自:自己的微信公众号<集成电路设计及EDA教程> <ICC教程 - Flow系列 - 概念系列 - ECO (理论+实践+脚本分享)> 这篇推文讲一下数字IC设计中的po ... 
- SSH服务连接
		SSH基本概述 SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输.确保了数据传输安全. SSH服务 ssh: secure shell, protocol, 22/ ... 
- 2016-11-05实战-定义ssh服务的日志
		1.编辑/etc/rsyslog.conf 输入 local 0 .* /var/log/sshd.log #日志的保存路径 2.定义ssh服务的日志级别 编辑sshd服务的主配置文件:/ ... 
- Ubuntu ssh服务安装
		在使用xshell连接ubuntu虚拟机时,提示 Could not connect to '192.168.0.106' (port 22): Connection failed. 在主机使用pin ... 
- ubuntu开启SSH服务
		SSH分客户端openssh-client和openssh-server 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-g ... 
随机推荐
- IE 浏览器旧版本下载
			1. http://www.oldversion.com/windows/internet-explorer/ IE10 浏览器 32bit & 64 bit:下载 2. https://ww ... 
- 不规则的JSON解析(一)
			现有如下数据结构: { "orderId":"000001", "goodsId[0]":"001", &q ... 
- js中的 substr方法与substring方法 不同
			一个参数时: 二者同为 从 第参数个 开始截取,一直到str 末尾,并返回. 二个参数时: substr(a,b): 从第a个字符开始, 截取b个. substring(a,b): 从第a个字符 ... 
- char 与 varchar 区别
			MySQL中的字符串有两个常用的类型:char和varchar,二者各有优势,下面我们来详细分析一下. 转载加补充 在建立数据库表结构的时候,为了给一个String类型的数据定义一个数据库的数据库类 ... 
- string  find_last_of 用法
			int find_first_of(char c, int start = 0): 查找字符串中第1个出现的c,由位置start开始. 如果有匹配, ... 
- juqery 下拉加载数据
			html 代码 一开始是需要显示的第一页 <div class="hot-product f15 fixed-Width clearfix" id="goods ... 
- Python学习之旅(十九)
			Python基础知识(18):面向对象高级编程(Ⅰ) 使用__slots__:限制实例的属性,只允许实例对类添加某些属性 (1)实例可以随意添加属性 (2)某个实例绑定的方法对另一个实例不起作用 (3 ... 
- Linux 下挂载新硬盘方法
			Linux的硬盘识别: 一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘 设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息. 1.关闭服务器加上新硬盘 2.启动服务器,以r ... 
- 什么是Rollback Segment(已truncate和delete 命令为例)?
			Rollback Segments是在你数据库中的一些存储空间,它用来临时的保存当数据库数据发生改变时的先前值,Rollback Segment主要有两个目的: 1. 如果因为某种原因或者其他用用户想 ... 
- sass基础学习(一)
			移动端布局各种问题 pc端布局各种问题sass 组件模块化面向对象编程ajax 框架学习 webpack 打包 性能优化 gulp是基于Nodejs的自动任务运行器她能自动化地完成 javascrip ... 
