SSH服务协议
1、SSH介绍:
SSH 是Secure Shell Protocol 的简写,由IETF网络小组(Network Working Group)制定;在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输,确保了传递的数据安全。
SSH是专门为远程登录会话和其他网络服务提供的安全性协议。利用SHH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。
在默认情况下,SSH服务提供两个服务功能,一个是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务,另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据,提供更安全的SFTP服务。
SFTP:加密的FTP
(1)ssh 是安全的加密协议,用于远程连接服务器。
(2)默认端口是22,安全协议版本 ssh2。
(3)服务端主要包含两个服务功能:ssh 远程连接,SFTP 服务。
(4)ssh客户端包含 ssh 连接命令,以及远程拷贝 scp 命令等。
2、SSH 结构:
SSH 服务由服务端软件 OpenSSH和客户端组成。常见的有ssh(linux)、CRT、Putty、xshell等。SSH 服务默认使用 22 端口提供服务,它有两个不兼容的 SSH 协议版本,分别是 1.x 和2.x
OpenSSL 负责加密。
SSH 服务端是一个守护进程(demon),它在后台运行并相应来自客户端的连接请求。SSH 服务端的进程名为 sshd,负责实时监听远程 SSH 客户端的连接请求,并进行处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接等。这个 SSH 服务就是我们前面基础系统优化中保留开机自动的服务之一。
SSH 客户端包含 SSH程序以及像scp(远程拷贝)、slogin(远程登录)、sftp(安全FTP文件传输)等应用程序。
3、SSH 的工作机制
本地的 ssh 客户端先发送一个连接请求到远程的 ssh 服务端,服务端检查连接的客户端发送的数据包和IP地址,如果确认合法,就会发送秘钥给SSH的客户端,此时,客户端本地再将秘钥发回给客户端,自此连接建立。SSH 1.x和SSH 2.x在连接协议上有一些安全方面的差异。
4、SSH 加密技术:
简单的说,SSH 加密技术就是将人类可以看得懂的数据,通过一些特殊的程序算法,把这些数据变成杂乱的无意义的信息,然后通过网络进行传输,而当到了目的地后,在通过对应的解密算法,把传来的加密的数据信息解密成加密前的可读的正常数据。
每一台SSH 服务器主机都可以使用 RSA 加密方式来产生一个 1024-bit 的RSA Key,这个 RSA 的加密方式就是用来产生公钥与私钥的算法之一。
1.x 版本只支持 RSA。
当SSH 服务启动时,就会产生一个 768-bit 的临时公钥(sshd_config 配置文件中 ServerKeyBits 768)存放在 Server 中。
5、面试题:给定一个端口,确定是哪个服务。
lsof -i :端口号 #例:lsof -i : 查看22端口属于哪个服务
6、两个ssh文件。
sshd_config 服务端
ssh_config 客户端
7、安装 SSH 服务:
Centos6里默认安装 SSH 的服务端, 但是需要手动安装 SSH的客户端。
服务端:192.168.3.137
客户端:192.168.3.138
yum install -y openssh-clients #安装ssh服务的客户端
ssh -p22 root@192.168.3.138 #通过192.168.3.137连接对端,指定端口22(默认端口,可更改),
中间需要输入对端密码。
8、小结:
(1)切换到别的机器 ssh -p22 user@ip
(2)到其他机器执行命令(不会切到机器上) ssh -p22 user@ip 命令
(3)第一次连接的时候,本地会产生一个秘钥 ~/.ssh/known_hosts
9、ssh 客户端附带的远程拷贝 scp 命令:
(1)推:本地将文件推到对端。
scp -P22 /本地文件路径 user@ip:/对端存放路径 #scp 指定端口用 P
scp -p22 /data/abc.txt root@192.168.3.138:/file
通过对端查看:
(2)拉:对端将本地文件拉到对端下。
scp -P22 user@ip:/对端文件位置 /本地存放位置 #推、拉只是将源目调换位置
scp -P22 root@192.168.3.138:/file/a.org /data
10、SSH 服务附带的sftp 功能服务:
基于ssh ,加密传输。
sftp -oPort= user@对端ip #-oPort 指定端口号
sftp -oPort= root@192.168.3.138
使用 put 进行文件传输,在对端查看:
下载对端的文件,使用 get
上传--传到对方的家目录
下载--下载到当前目录下 --
sshd 守护进程,开机要自启动
SSH服务协议的更多相关文章
- SSH服务详解
第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定:在进行数 ...
- 【转】SSH服务详解
[转]SSH服务详解 第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Gro ...
- ssh软件及命令的使用
常用软件安装及使用目录 第1章 ssh常用用法小结 1.1 连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以 ...
- (转)SSH服务详解
SSH服务详解 原文:http://www.cnblogs.com/clsn/p/7711494.html 第1章 SSH服务1.1 SSH服务协议说明SSH 是 Secure Shell Proto ...
- Linux下 SSH远程管理服务
第1章 SSH基本概述 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定 在进 ...
- centos7服务搭建常用服务配置之一:SSH
目录 1 SSH服务协议 1.1 ssh服务协议说明 1.2 ssh服务工作机制 1.3 ssh加密技术说明 1.3.1 ssh实现安全链接建立,利用要是和锁头 1.3.2 ssh加密算法 1.4 s ...
- linux系统安全设置策略
1.检查是否设置口令长度至少8位,并包括数字,小写字符.大写字符和特殊符号4类中至少2类. 在文件/etc/login.defs中设置 PASS_MIN_LEN 不小于标准值 修改/etc/pam.d ...
- SSHD
SSH基本概述 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定在进行数据传输之前,S ...
- 关于ssh的一篇很好的文章
源地址:http://www.w3hacker.com/?p=156 ssh-agent的manual写得倒是挺详细,可看了好几次都没怎么搞明白.08年在网上找到了非常好的一篇文章,An Illu ...
随机推荐
- Event Loop js 事件循环初理解
浏览器环境 执行栈 所有的 JS 代码在运行是都是在执行上下文中进行的.执行上下文是一个抽象的概念,JS 中有三种执行上下文: 全局执行上下文,默认的,在浏览器中是 window 对象 函数执行上下文 ...
- java 中for循环中断的办法
/* 中断for循环的办法: 1.break ***2.return是结束方法的,不是结束循环的. 3.标签的方法. 格式: 表签名:语句 运行结果:D:\test\day0413>java T ...
- Springboot源码分析之TypeFilter魔力
摘要: 在平常的开发中,不知道大家有没有想过这样一个问题,为什么我们自定义注解的时候要使用spring的原生注解(这里指的是类似@Component,@Service........),要么就是 随便 ...
- Java的异常:Error与Exception
一. 异常机制的概述 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 程序错误分 ...
- Spring boot拦截器的实现
Spring boot拦截器的实现 Spring boot自带HandlerInterceptor,可通过继承它来实现拦截功能,其的功能跟过滤器类似,但是提供更精细的的控制能力. 1.注册拦截器 @C ...
- 一键升级所有pip过期库
import pipfrom subprocess import callfrom pip._internal.utils.misc import get_installed_distribution ...
- Python集训营45天—Day01
目录 1. Python简介 2. 第一个Python程序 3. 知识点梳理 序言:未来是数据的世界,而python 是一门可以高效简洁处理数据的语言,博主打算花45天左右完成python学习的从0到 ...
- Dart类型变量-表示信息
Dart执行入口 Dart要求以main函数作为执行的入口 Dart的变量和类型 在Dart中可以用var或者具体的类型来声明一个变量.当使用var定义变量时,表示类型是由编译器推断决定.使用静态类型 ...
- 003:CSS三大重点之一:盒子模型
目录 1:盒子模型 2:边框: 2.1:合写 2.2:适用于:table系元素.边框合并 3:内边距 4:外边距: 4.1:盒子居中三大条件 4.2:外边距合并.外边距塌陷(父子嵌套)解决方法三种 前 ...
- 使用T2表中的值替换T1表的值
描述:现在有两张表,T1由Key和Value两个字段,T2也有Key和Value两个字段 当T1中的Key在T2表中存在时,更新使用T2表中对用的Value 值替换T1中的VAlue update A ...