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 ...
随机推荐
- linux shell下16进制 “\uxxxx” unicode to UTF-8中文
问题出现背景: 项目中有个通过ip获取归属地城市需求,我是直接通过新浪的ip归属查询接口来获取的.我使用的是shell脚本调用 RESULT=$(curl -s 'http://int.dpool.s ...
- java Illegal unquoted character ((CTRL-CHAR, code X)): has to be escaped using backslash to be included in string value
今天在同步日志到ES的时候出现转换Json后 存到es中报这个错. Illegal unquoted character ((CTRL-CHAR, code X)): has to be escape ...
- 【netcore基础】ubuntu 16.04 搭建.net core 2.1 linux 运行环境 nginx反向代理 supervisor配置自启动
今天来整理下 netcore 在 linux(ubuntu) 上的运行环境搭建 对应版本 ubuntu 16.04 .net core 2.1 nginx version: nginx/1.10.3 ...
- Phoenix 5.0 hbase 2.0 org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosKeyTab
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- 【HTML5】video 标签禁用自带的下载按钮
h5自带的 video标签 ,会有个下载按钮,有时候想避免,就可以利用样式的方法 <style type="text/css"> video::-internal-me ...
- Solve Error: nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmt.lib(newaop.obj)
Error: nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)&quo ...
- poj3335
半平面交&多边形内核.因为没注意了点的情况自闭了. https://blog.csdn.net/qq_40861916/article/details/83541403 这个说的贼好. 多边形 ...
- Java课程寒假之开发记账本软件(网页版)之四
一.实现基础功能之一(删除) 在删除的功能实现之前,要明白删除的条件是什么,一开始我是以去向和时间作为条件删除,但是删除的语句好像有问题,好像是因为出现了非法字符(应该是中文吧,不太清楚,因为这不是我 ...
- 利用pl/sql执行计划评估SQL语句的性能简析
一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在. 那么,作为 ...
- itoa()函数
itoa()函数 itoa():char *itoa( int value, char *string,int radix); 原型说明: value:欲转换的数据.string:目标字符串的地址.r ...