Linux SSH远程管理和客户端的使用(内置实验解析图)

一、SSH远程管理

SSH(Secure Shell)协议
是一种安全通道协议,对通信数据进行了加密处理,用于实现远程管理、远程登录、远程复制等功能。

(1)SSH工作原理

SSH客户端例如:Putty、Xshell、CRT

SSH服务端例如:OpenSSH

在这里插入图片描述

  • 客户端到服务端是通过网络传输

  • 数据传输是加密的

  • 数据传输是压缩的

二、openSSH

OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。
sshd 服务默认使用的是TCP的 22端口

服务名称:sshd

服务端主程序:/usr/sbin/sshd

服务端主程序:/usr/sbin/sshd

服务端配置文件:/etc/ssh/sshd_config

(1)sshd配置文件常用选项

在这里插入图片描述

(2)sshd 服务支持的验证方式

[ 1 ] 密码验证

对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解

[ 2 ] 密钥对验证

要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。

[ 3 ] 两种验证同时开启

当两种验证都启用时,服务器将优先使用密钥对验证。

[ 4 ]验证配置文件常用选项

在这里插入图片描述

三、SSH客户端使用

[ 1 ]ssh 远程登录

ssh [选项] 用户 @ IP号
-p:指定非默认的端口号,缺省时默认使用 22端口

在这里插入图片描述

[ 2 ]scp 远程复制

scp 目标用户名@目标IP地址:目标文件位置 本机存放位置
//复制目标主机文件到本机
scp -r 本机目录 目标用户名@目标IP地址:目标目录
//复制本机目录到目标主机

在这里插入图片描述

[ 3 ]sftp 安全 FTP

sftp [email protected]    //访问目标主机
sftp> ls                       //查看当前所在位置的文件
sftp> get 文件名		           //下载文件
sftp> put 文件名		           //上传文件
sftp> quit		               //退出

在这里插入图片描述

[ 4 ]配置密钥对验证

useradd admin                           //创建用户
echo "123123" | passwd --stdin admin    //配置密码
su - admin                              //切换用户

ssh-keygen -t ecdsa                     //创建密钥对

cd ~/.ssh/                              //进入~目录下.ssh目录
ssh-copy-id -i id_ecdsa.pub 目标用户@目标IP
//直接在服务器的/home/目标用户名/.ssh/目录中导入公钥文本

ssh-agent bash                          //以下命令为配置免交互
ssh-add

在这里插入图片描述

四、TCP Wrappers

(此服务用的不多了解就好,有兴趣可以自己做做)

TCP Wrappers
将TCP服务程序“包裹”起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。

大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。rpm -q tcp_wrappers

(1)TCP Wrapper 保护机制的两种实现方式

1.直接使用 tcpd 程序对其他服务程序进行保护,需要运行 tcpd程序。
2.由其他网络服务程序调用 libwrap.so.*链接库,不需要运行 tcpd 程序。此方式的应用更加广泛,也更有效率。

使用 ldd 命令可以查看程序的 libwrap.so.*链接库
ldd $(which ssh vsftpd)

(2)TCP Wrappers 的访问策略

TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

格式:
<服务程序列表>:<客户端地址列表>

  • 服务程序列表
    ALL:代表所有的服务。
    单个服务程序:如“vsftpd”。
    多个服务程序组成的列表:如“vsftpd,sshd”

  • 客户端地址列表
    ALL:代表任何客户端地址。
    LOCAL:代表本机地址。
    允许使用通配符 “?” 和 “*”
    网段地址,如 192.168.80. 或者 192.168.80.0/255.255.255.0
    区域地址,如 “.benet.com”匹配 bdqn.com 域中的所有主机。

(3)TCP Wrappers 机制的基本原则:

首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问;
否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;
如果检查上述两个文件都找不到相匹配的策略,则允许访问。

“允许所有,拒绝个别”
只需在/etc/hosts.deny文件中添加相应的拒绝策略

“允许个别,拒绝所有”
除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置“ALL:ALL”的拒绝策略。

猜你喜欢

转载自blog.csdn.net/weixin_51468875/article/details/110921327