Linux网络服务10——远程访问及控制
Linux网络服务10——远程访问及控制
一、SSH概述
1、SSH简介
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,语TELNET(远程登录)等应用相比,SSH协议提供了更好的安全性。
2、默认监听端口:TCP 22
二、OpenSSH的配置
1、OpenSSH安装包
默认安装Linux系统时自动安装,若未安装,安装光盘中的如下rpm包:
openssh-5.3p1-94.el6.x86_64.rpm
openssh-askpass-5.3p1-94.el6.x86_64.rpm
openssh-clients-5.3p1-94.el6.x86_64.rpm
openssh-server-5.3p1-94.el6.x86_64.rpm
·服务名称:sshd
·服务端主程序:/usr/sbin/sshd
·服务端配置文件:/etc/ssh/sshd_config
·客户端配置文件:/etc/ssh/ssh_config
2、服务端OpenSSH配置






手动添加:

AllowUsers:用户amber在任何客户端均可登录;用户zhangsan只允许在IP地址为 192.168.1.51的客户端登录。且仅允许此二用户通过ssh协议远程登录。
DenyUsers:禁止用户lisi登录
注意:AllowUsers不要与 DenyUsers 同时使用
修改配置文件后,重启sshd服务
三、使用SSH客户端程序
1、命令程序:
(1)ssh命令(远程安全登录)
格式:ssh user@host (若客户机与主机用户名相同,可省去user@)
端口选项:-p 22



(2)scp命令(远程安全复制)
格式1:scp user@host:file1 file2
格式2:scp file1 user@host:file2
1>从服务端复制文件到客户端
服务端:

客户端:

2>从客户端复制文件到服务端
客户端:

服务端:

(3)sftp命令(安全FTP上传下载)
格式:sftp user@host
客户端:



2、常见远程访问工具:Xshell、CRT、Putty、Xmanager(远程图形化界面)等
四、构建密钥对验证的SSH体系
1、在客户端创建密钥对
ssh-keygen命令
可用的加密算法:RSA或DSA

2、将公钥上传至服务器
(1)方法一:任何方式均可(共享、FTP、Email、SCP、……)
客户端:

服务端:在服务器中导入公钥文本

(2)方法二:ssh-copy-id命令
服务端删除前面拷贝的公钥文件
[amber@Server-SSH ~]$ rm -f .ssh/authorized_keys
客户端:

服务端:

3、在客户端使用密钥对验证
(1)确认服务端配置文件/etc/ssh/sshd_config已开启密钥对认证

(2)客户端使用密钥对验证登录:

五、TCP Wrappers
1、TCP Wrappers保护原理

2、保护机制的实现方式
方式1:通过tcpd主程序对其他服务程序进行包装
方式2:由其他服务程序调用libwrap.so.*链接库
3、TCP Wrappers保护的条件
(1)必须是采用TCP协议的服务
(2)函数库中必须包含libwrap.so.0(可用ldd命令查看)

由此可见,sshd服务可以采用TCP Wrappers进行保护,而httpd服务虽然也是采用TCP协议,但无法使用TCP Wrappers进行保护。
4、访问控制策略的配置文件
/etc/hosts.allow
/etc/hosts.deny
访问控制策略处理流程图

由此可见,/etc/hosts.allow文件的优先级更高,若同一IP地址即出现在hosts.allow中,也存在与hosts.deny中,则该IP地址的访问请求将被接受。
5、配置项及格式
(1)格式:
服务列表:客户机地址列表
|
服务列表 |
客户机地址列表 |
||
|
多个服务 |
例:vsftpd,sshd |
多个地址 |
例:192.168.1.1,192.168.1.10 |
|
所有服务 |
ALL |
所有地址 |
ALL |
|
|
通配符? |
例:192.168.1.?,192.168.2.1?? |
|
|
|
通配符* |
例:192.168.1.1* |
|
|
|
网段地址 |
例:192.168.1.或192.168.1.0/255.255.255.0 |
|
(2)通配符
1>通配符?:每一个?表示1位任意数字。如192.168.1.1?表示 192.168.1.10~192.168.1.19;192.168.1.1??表示192.168.100~192.168.1.199
2>通配符*:表示任意位数,也可为空。如192.168.1.1*表示192.168.1.1、 192.168.1.10~192.168.1.19、192.168.1.100~192.168.1.199
(3)配置示例
实验要求:仅允许IP地址为192.168.1.100~192.168.1.199的主机访问sshd服务,禁止其他所有地址的访问。



客户机client1测试:

客户机client2测试:

Linux网络服务10——远程访问及控制的更多相关文章
- (四)跟我一起玩Linux网络服务:DHCP服务配置之中继代理
继第三部分的DHCP服务器的设置成功,我们来做一个中继代理服务器的配置吧. 我们的虚拟机结构如图: 具体参考: (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.con ...
- Linux网络服务01——Linux网络基础设置
Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...
- 1、linux网络服务实验 用PuTTY连接Linux
这个是大三下学期的Linux网络服务配置详解时,感觉老师上得简单,就整理下,岭南师范学院师弟妹有福,如果是蔡老师交的话,可以拿来预习,复习. 一.用PuTTY连接Linux ①.装有redhat系统的 ...
- Linux网络服务12——NFS共享服务
Linux网络服务12--NFS共享服务 一.NFS简介 端口号:TCP.UDP 111端口 NFS(Network File System)网络文件系统,是一种基于TCP/IP传输的网络文件系统协议 ...
- 简要介绍Linux网络服务的种类
如果有人问你Linux最强大的功能是什么,你大概会回答“是网络功能”.Lmux操作系统的优势之一就是网络功能了,这包含比较稳定的系统资源分配,以及较为安全的网络防护能力,所以许多人都喜欢用它来进行网络 ...
- Openstack 网络服务 Neutron介绍和控制节点部署 (九)
Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...
- Openstack 网络服务 Neutron介绍和控制节点部署 (十)
Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...
- Linux网络服务第一章Linux网络基础设置
1.笔记 systenctl restart network:重启网卡网络服务 bash:刷新主机名称 netstat:查看网络状态 route -n:不做地址解析 mii-tool eno16777 ...
- Linux网络编程10——使用UDP实现五子棋对战
思路 1. 通信 为了同步双方的棋盘,每当一方在棋盘上落子之后,都需要发送给对方一个msg消息,让对方知道落子位置.msg结构体如下: /* 用于发给对方的信息 */ typedef struct t ...
随机推荐
- String,StringBuilder,StringBuffer的对比测试
public class TestString { private static final int COUNT = 10000000; public static void main(String ...
- MySQL 完整和增量备份与恢复
MySQL 完全备份与恢复 1.数据备份的重要性 在企业中数据的价值至关重要,数据保障了企业的业务的运行,因此数据的安全性及可靠性是运维的重中之重,任何数据的丢失都有可能会对企业产生严重的后果.造成数 ...
- TP5.0 PHPExcel 数据表格导出(原)
今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExcel没有命名空间,所以框架里面的use根本引入不进去, ...
- [刷题]Codeforces 746G - New Roads
Description There are n cities in Berland, each of them has a unique id - an integer from 1 to n, th ...
- 如何在WebGL全景图上做标记
WebGL可以用来做3D效果的全景图呈现,例如故宫的全景图.但有时候我们不仅仅只是呈现全景图,还需要增加互动.故宫里边可以又分了很多区域,例如外朝中路.外朝西路.外朝东路等等.我们需要在3D图上做一些 ...
- TreeSet源码分析
第1部分 TreeSet介绍 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合.它继承于AbstractSet抽象类,实现了NavigableSet<E>, Cloneab ...
- SpringData系列二 Repository接口
本节主要介绍Repository接口规范,及其子接口 Repository是一个空接口,即标准接口 若我们定义的接口继承了Repository,则该接口会被IOC容器识别为一个Repositoty B ...
- [C#] BarcodeLib -- 一个精简而不失优雅的条形码生成库
BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...
- swift pod第三方OC库使用use_frameworks!导致#import提示无法找到头文件
以MBProgressHUD为例子 swift中Podfile文件一般都会加上use_frameworks! 这样就可以直接通过import MBProgressHUD来访问MBProgressHUD ...
- .net实现多重继承问题(virtual)
C#中是没有类的多重继承这个概念.要使用多重继承必须要通过接口Interface来完成, 一.接口类 interface getTable{ DataTable Getdatatable( ...