Linux网络服务10——远程访问及控制

一、SSH概述

1、SSH简介

SSH(SecureShell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,语TELNET(远程登录)等应用相比,SSH协议提供了更好的安全性。

2、 默认监听端口:TCP22

二、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配置

cd /etc/ssh/

vim sshd_config

修改配置文件后,重启sshd服务

/etc/init.d/ssh restart

4、Open SSH服务访问控制

AllowUsers:用户amber在任何客户端均可登录;用户zhangsan只允许在IP地址为192.168.1.51的客户端登录。且仅允许此二用户通过ssh协议远程登录

DenyUsers:禁止用户lisi登录

注意:AllowUsers不要与DenyUsers同时使用

      当服务器在internet时,控制包含的IP地址时应是公司公网地址。

三、使用SSH 客户端程序

登录验证方式 SSH服务支持两种方式

(1)密码验证

(2)密钥对验证

1、命令程序:

(1)ssh命令(远程安全登录)

格式:sshuser@host(若客户机与主机用户名相同,可省去user@)

端口选项:-p22

(2)scp命令(远程安全复制)

格式1:scp user@host:file1file2

格式2:scp file1 user@host:file2

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

服务端:mkdir /aaa

              touch /aaa/test{1..10}

               ls /aaa

客户端

             mkdir /bbb

             ls /bbb/

             scp amber@192.168.1.108:/aaa/* /bbb/

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

客户端:

echo ceshi > client.txt

scp client.txt amber@192.168.1.108:~amber/client1.txt

服务端:

ll ~amber/

(3)sftp命令(安全FTP上传下载)

格式: sftp user@host

2、常见远程访问工具:Xshell、CRT、Putty、Xmanager(远程图形化界面)等

四、构建密钥对验证的SSH体系

1、在客户端创建密钥对

ssh-keygen命令

可用的加密算法:RSA或DSA、ECDSA

id_rsa私钥

id_rsa.pub公钥

客户端:

创建用户:

创建密钥对:

2、将公钥上传至服务器

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

 

4、客户端使用密钥对验证登录:

五、时TCP Wrappers

1、TCP Wrappers保护原理

2、保护机制的实现方式

方式1:通过tcpd主程序对其他服务程序进行包装

方式2:由其他服务程序调用libwrap.so.*链接库

3、TCPWrappers保护的条件

(1)必须是采用TCP协议的服务

(2)函数库中必须包含libwrap.so.0(可用ldd命令查看)

sshd服务可以采用TCPWrappers进行保护,而httpd服务虽然也是采用TCP协议,但无法使用TCPWrappers进行保护。

4、访问控制策略的配置文件

/etc/hosts.allow

/etc/hosts.deny

访问控制策略处理流程图

 

由此可见,/etc/hosts.allow文件的优先级更高,若同一IP地址即出现在hosts.allow中,也存在与hosts.deny中,则该IP地址的访问请求将被接受。

5、配置项及格式

(1)通配符

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

原文地址:https://www.cnblogs.com/liyurui/p/11402085.html