目录
一、SSH远程管理
1)SSH的简介
2)SSH的优点
3)常用的SSH软件的介绍
4)SSH 的组成
5)SSH的密钥登录
密钥登录的过程:
二、SSH的运用
1 )SSH配置文件信息
2)存放ssh服务端的配置文件
3)存放ssh客户端的配置文件
4)ssh在Linux中的密码登录
4)利用ssh协议传输文件和获取文件
5)scp传输文件
6)scp获取服务端的文件
7)sftp远程访问操作
三、ssh密钥登录操作
实验目的
实验准备
实验设计图
编辑
实验验证
实验步骤
第一步:在客户端中创建密钥
第二步:把公钥文件导入到ssh服务端
方式1:手动导公钥进服务器
方式2:自动导公钥入服务器
第三步:进行测试
测试一:客户端zhangsan访问服务端root
测试二:客户端root访问服务端root
测试三:客户端zhangsan 访问服务端wangwu
四、TCP_wapper的原理和运用
1)TCP_wapper的工作原理
2)TCP_Wrappers的运用
假设引用
白名单设置:
测试
总结
telnet与ssh区别
telnet 明文 23
ssh 密文 22
检查是否开启开机自启
systemctl is-enabled ssh
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度
作用:SSHD 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件
OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。
Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。
执行"systemctl start sshd"命令即可启动sshd 服务
sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)
OpenSSH
SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。S S H最初是U N I X系统上的一个程序,后来又迅速扩展到其他操作平台。S S H在正确使用时可弥补网络中的漏洞。客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序
SSH客户端:putty(开源工具),xshell,CRT
SSH服务端:openSSH(centos7系统默认安装)
centos7 ssh服务启动自检命令: systemctl is-enabled sshd
传输层协议 [SSH-TRANS]
提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。 SSH-TRANS 通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。 SSH-TRANS 提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上
用户认证协议 [SSH-USERAUTH]
用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS 上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H )。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护
连接协议 [SSH-CONNECT]
将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11 连接
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。而ssh密钥就是一种非对称性的密钥
ssh 远程访问控制中不仅仅可以使用用户密码登录,还可以通过 密钥进行登录。而密钥登录的产生是通过客户端与服务端进行一系列的操作过程产生的。
vim /etc/ssh/sshd_config
常用选项配置
#Port 22
#ListenAddress 0.0.0.0
常用配置项
#LoginGraceTime 2m 登录验证时间为两分钟
#PermitRootLogin yes 允许root用户登录(安全考虑,这里可以设置为no,禁止root用户登录)
#MaxAuthTries 6 最大重试的次数为6
PasswordAuthentication yes 允许空密码用户登录
UseDNS no 禁止DNS反向解析,提高服务器的响应速度
/etc/ssh/ssh_config (该配置基本默认保持不变,就可以了)
ssh [远程主机用户名]@[远程服务器主机名或IP地址] [-p port]
[root@localhost7 ~]# ssh 192.168.73.110
exit 退出当前用户
[root@localhost7 ~]# ssh -p 22 [email protected]
ssh scp sftp 都是默认使用ssh协议,端口为 tcp 22
scp [-r 目录] 文件 [用户]@服务端IP:保存路径(如果端口号修改过,就用-P进行指定)
[root@localhost6 opt]# scp shiyan.zip [email protected]:/opt
scp [-P] [用户]@服务端IP:保存路径 本地路径
[root@localhost6 opt]# scp [email protected]:/opt/shiyan.zip /opt
sftp [-P] 用户@服务端IP (当默认端口改变时,可以用-P指定)
[root@localhost6 opt]# sftp [email protected]
上面的内容均为在密码登录的前提,但是存在着极大的安全隐患。密码登录是可以别破译密码软件进行暴力破解,从而远程访问,此时会造成相关的损失。而密钥登录,会对安全性访问更有利
准备两台虚拟机,一台当作ssh客户端,一台当作ssh服务端,检查一下ssh相关服务的软件包和功能是否正常即可
一组密钥对是客户端的某一个用户和服务端的某一个用户之间建立的联系,其他用户无法使用该密钥获取登录
[root@localhost6 ~]# ssh-keygen -t rsa
[zhangsan@localhost ~]$ cd /home/zhangsan/.ssh
[zhangsan@localhost .ssh]$ ls
[zhangsan@localhost .ssh]$ scp id_rsa.pub [email protected]:/opt
切换到服务端,安置公钥
cd /opt/
ls
vim /root/.ssh/authorized_keys
末行模式
:!cat /opt/id_rsa.pub
并且保存退出
ssh-copy-id -i 公钥文件 用户@服务端IP
[zhangsan@localhost .ssh]$ ssh [email protected]
[root@localhost ~]# ssh [email protected]
[zhangsan@localhost .ssh]$ ssh [email protected]
TCP_Wrappers有一个TCP的守护进程叫作tcpd。以ssh为例,每当有ssh的连接请求时,tcpd即会截获请求,先读取系统管理员所设置的访问控制文件,符合要求,则会把这次连接原封不动的转给真正的ssh进程,由ssh完成后续工作;如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供ssh服务
/etc/hosts.allow 设置允许访问 tcp 服务程序的策略(白名单)
/etc/hosts.deny 设置禁止访问 tcp 服务程序的策略 (黑名单)
只允许IP地址为192.168.73.110的用户访问sshd服务,其他地址被拒绝。
vim /etc/hosts.allow
sshd:192.168.73.110
如果不确定该服务是否符合TCP_wapper的标准:
[root@localhost ~]# ldd $(which sshd)|grep wrap
黑名单设置:
vim /etc/hosts.deny
sshd:ALL
保存后,立即生效!
测试一:指定允许的客户端使用
测试二:其他客户端进行访问
黑名单和白名单的设置原理:先看 hosts.allow 文件中的设置,匹配上则直接放通,如果没有匹配则 再去看 hosts.deny 文件中的设置,匹配上则禁止/拒绝访问指定的tcp服务程序,如果也没有匹配上则默认允许放通
ssh 密钥对配置
客户端 ssh的发起端:ssh-keygen -t rsa/ecdsa 创建密钥对,在自己家目录的.ssh目录中生成 私钥和公钥文件(XXX.pub)
ssh-copy-id -i 公钥文件 目标主机用户@目标主机IP/主机名
服务端 被ssh连接端 在指定用户家目录的.ssh目录中生成公钥认证文件 authorized_keys
从此客户端 ssh [-p 端口] 用户@IP 使用密钥对的密码验证
1. 熟知ssh密钥生成的过程,用于对ssh访问的加密,符合更安全的远程控制标准
2.当我们获得一台新的服务器时,为了更安全,取消掉root用户的远程访问
3.ssh中有更高效的传输获取功能,可以加以利用。
4.TCP_Wrappers中的黑白名单,可以大量高效的设置可访问服务端的用户及其能够访问的服务