目录
一,OpenSSH服务器
1,SSH协议基础
SSH(Secure Shell)协议
是一种安全通道协议
对通信数据进行了加密处理用于远程连接
OpenSSH
服务名称:sshd
服务端主程序:/usr/bin/sshd
服务端配置文件:/etc/ssh/sshd_config
客户端配置文件:/etc/ssh/ssh_config
SSH协议优点:
1)数据传输是加密的可以防止信息泄露
2)数据传输是压缩的可以提高传输速度
SSH客户端<---------网络------------->SSH服务器
二,SSH原理
1,公钥传输原理
客户端发起链接请求
服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
客户端生成密钥对
客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
客户端发送加密后的值到服务端,服务端用私钥解密,得到Res
服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
远程登录
开启ssh服务
远程连接其他主机
再次连接主机不需要确认
2,使用秘钥对及免交互验证
-
客户端发起ssh请求,服务器会把自己的公钥发送给用户
-
用户会根据服务器发来的公钥对密码进行加密
-
加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功
秘钥登录
查看秘钥的加密方式
生成秘钥(为空的)
将秘钥copy给要登录的用户
因为设置秘钥的是空密码登录时是不需要密码的,若秘钥设置了登录时输入的是秘钥的密码
秘钥对登录时是验证秘钥对的,只认密钥对与用户密码IP地址无关。
三,TCP Wrappers
是应用服务与网络之间的一道特殊防线,提供安全保护。
TCP Wrappers 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了
一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正
访问控制的基本原则:是一种白名单机制,修改位置在/etc/hosts.allow
配置格式 服务: 对方地址
白名单设置只能从192.168.18.90登录
黑名单机制
[root@ky15 ~]#vim /etc/hosts.deny
sshd:ALL
四,轻量化自动运维工具pssh
pssh:基于python编写,可在多台服务器上执行命令的工具,也可实现文件复制,提供了基于ssh
和scp的多个并行工具
pssh命令选项:
-H:主机字符串,内容格式”[user@]host[:port]”
-h file:主机列表文件,内容格式”[user@]host[:port]”
-A:手动输入密码模式
-i:每个服务器内部处理信息输出
-l:登录使用的用户名
-p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输出文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-P:打印出服务器返回信息
-v:详细模式
--version:查看版本
需要先安装yum网络源来安装pssh
切换目录到/etc/yum.repos.d/
网络源设置
清除缓存
安装pssh
创建密钥对
上传密钥对
远程查看文件
远程创建文件并查看