Linux网络-远程访问及控制

目录

一.SSH远程管理

1.SSH与TELNET

1.1.SSH优点

2.SSH简介

2.1.OpenSSH

2.2.常用的SSH软件的介绍

二.配置OpenSSH服务器

1.sshd_config配置文件的常用选项设置

2.sshd 服务支持两种验证方式

2.1.密码验证

2.2.密钥对验证

2.3.公钥和私钥的关系

三.使用SSH客户端程序

1.ssh远程登录

2.scp远程复制

3.sftp文件传输

四.SSH的验证方式

1.密码验证

2.密钥对验证

3.SSH密钥对的创建和使用

3.1.确保服务端开启了ssh密钥对验证

3.2.在客户端创建密钥对

3.3.上传公钥至服务端

3.4.客户端 ssh 远程登录,使用密钥对的密码进行验证

3.5.补充

4.SSH密钥对免交互登录

4.1.使用空密码的密钥对

4.2.创建ssh会话代理(只能在当前会话中有效)

五.TCP Wrappers机制

1.保护原理

2.TCP Wrappers保护机制的两种实现方式

2.1.方式2实际操作

支持​

不支持

3.TCP Wrappers的运用

4.TCP Wrappers 的访问策略

4.1.格式

5.TCP Wrappers 机制的基本原则


一.SSH远程管理

1.SSH与TELNET

SSH:密文 tcp / 22端口

TELNET:明文 tcp / 23端口

1.1.SSH优点

  • 数据传输的过程是加密的,具有安全稳定的特点
  • 数据传输的方式是压缩的,可以提高传输速度

2.SSH简介

  • 是一种安全通道协议
  • 对通信数据进行了加密处理,用于远程管理

2.1.OpenSSH

  • 服务名称:sshd
  • 服务端主程序:/usr/sbin/sshd
  • 服务端配置文件:/etc/ssh/sshd_config
  • 客户端配置文件:/etc/ssh/ssh_config

2.2.常用的SSH软件的介绍

  • SSH客户端:putty(开源工具),xshell,CRT
  • SSH服务端:openSSH(centos7系统默认安装)
  • CentOS7 SSH服务启动自检命令:  systemctl is-enabled    sshd

                                   网络

SSH客户端<--------------------------------------->SSH服务端
            数据传输是加密的,可以防止信息泄漏
            数据传输是压缩的,可以提高传输速度
 

注意:在生产环境中,为了保密等措施,Xshell、CRT等外国软件应用较少,多使用国产或开源的

终端工具

二.配置OpenSSH服务器

1.sshd_config配置文件的常用选项设置

vim /etc/ssh/sshd_config
Port 22 								监听端口为 22

ListenAddress 0.0.0.0 					监听地址为任意网段,也可以指定OpenSSH服务器的具体IP

LoginGraceTime 2m 						登录验证时间为 2 分钟

PermitRootLogin no 						禁止 root 用户登录

MaxAuthTries 6 							最大重试次数为 6

PermitEmptyPasswords no 				禁止空密码用户登录

UseDNS no 								禁用 DNS 反向解析,以加快远程连接速度

AllowUsers zhangsan lisi wangwu
@61.23.24.25                            只允许zhangsan、lisi、wangwu用户登录,且其中wangwu用户 
                                        仅能够从IP地址为61.23.24.25 的主机远程登录 多个用户以空 
                                        格分隔

DenyUsers zhangsan                      禁止某些用户登录,用法于AllowUsers 类似(注意不要同时使 
                                        用)

2.sshd 服务支持两种验证方式

2.1.密码验证

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

2.2.密钥对验证

要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),

然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关

联验证。能增强安全性,且可以免交互登录

2.3.公钥和私钥的关系

●公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。
●不能根据一个密钥来推算出另一个密钥。
●公钥对外公开,私钥只有私钥的持有人才知道。

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式

vim /etc/ssh/sshd_config
PasswordAuthentication yes 						启用密码验证

PubkeyAuthentication yes 						启用密钥对验证

AuthorizedKeysFile .ssh/authorized_keys 		指定公钥库文件

三.使用SSH客户端程序

1.ssh远程登录

ssh [-p 端口] 用户名@目标主机IP 

ssh [-p 端口] 用户名@目标主机IP  命令         临时登录目标主机执行命令后退出

2.scp远程复制

scp [-P 端口] [-r] 本机文件/目录路径 ...  用户名@目标主机IP:绝对路径       

将本地的文件/目录复制到目标主机

scp [-P 端口] [-r] 用户名@目标主机IP:绝对路径  本机路径                    

将目标主机的文件/目录复制到本机

3.sftp文件传输

sftp [-P 端口]  用户名@目标主机IP
> get  put  cd  ls

四.SSH的验证方式

1.密码验证

使用账号和密码进行验证

PasswordAuthentication yes

2.密钥对验证

使用客户端创建的密钥对进行验证

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys           服务端的公钥文件默认保存路径

3.SSH密钥对的创建和使用

3.1.确保服务端开启了ssh密钥对验证

 /etc/ssh/sshd_config   -->  PubkeyAuthentication yes

3.2.在客户端创建密钥对

ssh-keygen [-t rsa/dsa/ecdsa]   
  • 生成的密钥对默认存放在当前用户家目录的 .ssh/ 目录中
  • 私钥是留给自己使用的
  • 公钥(XXX.pub)是给服务端使用的

3.3.上传公钥至服务端

 ssh-copy-id [-i 公钥文件]  用户名@目标主机IP 
  • 公钥信息会自动保存到服务端的 ~/.ssh/authorized_keys 文件里

3.4.客户端 ssh 远程登录,使用密钥对的密码进行验证

3.5.补充

密钥对在客户端是谁创建的,只能谁使用;密钥对上传给服务端的哪个用户,那么就只能使用那个

用户去登录

4.SSH密钥对免交互登录

4.1.使用空密码的密钥对

ssh-keygen      一路回车,不设置密码

ssh-copy-id

4.2.创建ssh会话代理(只能在当前会话中有效)

ssh-agent bash

ssh-add

五.TCP Wrappers机制

1.保护原理

TCP Wrappers(TCP封套) 是一个简单的防火墙机制。用来将TCP服务程序“包裹”起来,代为监

听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获

得许可后才能访问真正的服务程序

大多数 Linux 发行版,TCP Wrappers 是默认提供的功能

2.TCP Wrappers保护机制的两种实现方式

  • 方式1:通过tcpd程序对其他服务程序进行包装
  • 方式2:由其他服务程序调用libwrap.so.*链接库(应用更广泛,更有效率)

2.1.方式2实际操作

支持
不支持

3.TCP Wrappers的运用

  • /etc/hosts.allow 设置允许访问 tcp 服务程序的策略(白名单)
  • /etc/hosts.deny 设置禁止访问 tcp 服务程序的策略(黑名单)

4.TCP Wrappers 的访问策略

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

4.1.格式

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

服务程序列表

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

客户端地址列表

  • ALL:代表任何客户端地址
  • LOCAL:代表本机地址
  • 多个地址以逗号分隔

允许使用通配符 “*” 和 “?” ,前者代表任意长度字符,后者仅代表一个字符

网段地址 如 “192.168.80.” 或者 192.168.80.0/255.255.255.0 (掩码只支持 netmask 的地址显示方式)

区域地址 如 “.benet.com”匹配 benet.com 域中的所有主机

5.TCP Wrappers 机制的基本原则

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

允许所有,拒绝个别”

只需在/etc/hosts.deny文件中添加相应的拒绝策略

“允许个别,拒绝所有”

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

策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值