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——远程访问及控制的更多相关文章

  1. (四)跟我一起玩Linux网络服务:DHCP服务配置之中继代理

    继第三部分的DHCP服务器的设置成功,我们来做一个中继代理服务器的配置吧. 我们的虚拟机结构如图: 具体参考: (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.con ...

  2. Linux网络服务01——Linux网络基础设置

    Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...

  3. 1、linux网络服务实验 用PuTTY连接Linux

    这个是大三下学期的Linux网络服务配置详解时,感觉老师上得简单,就整理下,岭南师范学院师弟妹有福,如果是蔡老师交的话,可以拿来预习,复习. 一.用PuTTY连接Linux ①.装有redhat系统的 ...

  4. Linux网络服务12——NFS共享服务

    Linux网络服务12--NFS共享服务 一.NFS简介 端口号:TCP.UDP 111端口 NFS(Network File System)网络文件系统,是一种基于TCP/IP传输的网络文件系统协议 ...

  5. 简要介绍Linux网络服务的种类

    如果有人问你Linux最强大的功能是什么,你大概会回答“是网络功能”.Lmux操作系统的优势之一就是网络功能了,这包含比较稳定的系统资源分配,以及较为安全的网络防护能力,所以许多人都喜欢用它来进行网络 ...

  6. Openstack 网络服务 Neutron介绍和控制节点部署 (九)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  7. Openstack 网络服务 Neutron介绍和控制节点部署 (十)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  8. Linux网络服务第一章Linux网络基础设置

    1.笔记 systenctl restart network:重启网卡网络服务 bash:刷新主机名称 netstat:查看网络状态 route -n:不做地址解析 mii-tool eno16777 ...

  9. Linux网络编程10——使用UDP实现五子棋对战

    思路 1. 通信 为了同步双方的棋盘,每当一方在棋盘上落子之后,都需要发送给对方一个msg消息,让对方知道落子位置.msg结构体如下: /* 用于发给对方的信息 */ typedef struct t ...

随机推荐

  1. Oracle中碰到的函数和关键字收集

    一.时间处理函数 trunc(sysdate) 返回日期 to_date() to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') to_number() 转为数字 二.字 ...

  2. js闭包绑定元素

    闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状 ...

  3. poj 1056 IMMEDIATE DECODABILITY 字典树

    题目链接:http://poj.org/problem?id=1056 思路: 字典树的简单应用,就是判断当前所有的单词中有木有一个是另一个的前缀,直接套用模板再在Tire定义中加一个bool类型的变 ...

  4. Java 7 Fork/Join 框架

    在 Java7引入的诸多新特性中,Fork/Join 框架无疑是重要的一项.JSR166旨在标准化一个实质上可扩展的框架,以将并行计算的通用工具类组织成一个类似java.util中Collection ...

  5. GreenDao 使用二

    1.创建一个实体类 1 Entity note = schema.addEntity("Note"); 默认表名就是类名,也可以自定义表名 1.dao.setTableName(& ...

  6. windows下命令行cmder工具

    windows下系统自带的命令行工具,实在是太丑了,输入命令后,有时排版乱七八糟,而且使用惯liunx系统的命令后,实在是不能够接受,这么蹩脚的工具:为此我给大家推荐一款实用的开源工具cmder 下载 ...

  7. 【JavaScript你需要知道的基础知识~】

    最近开始学习JavaScript,整理了一些相关的基础知识 JS注释方式:// 单行注释(Ctrl+/ )/* 段落注释(Ctrl+shift+/ )*/ [JavaScript基础]JavaScri ...

  8. 《安卓网络编程》之第七篇 java编写Service程序

    import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net. ...

  9. android 本地数据库sqlite的封装

    单机android   sqlite数据库的实现,这个数据库可与程序一起生成在安装包中 一.下载sqlite3.exe文件 二.运行 cmd 转到sqlite3.exe 所在目录  运行 sqlite ...

  10. 面试(1)-java-se-字符串

    http://blog.csdn.net/zhangerqing/article/details/8093919 hashCode和identityHashCode的区别 I. hashCode()方 ...