远程访问及控制

一、SSH远程管理

Ssh是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。

Ssh协议对通信双方的数据传输进行了加密处理、其中包括用户登录时输入的用户口令。

Ssh协议:为客户端提供安全的shell环境,用于远程管理  默认端口:TCP  22

配置openssh服务端:(openssh服务端程序/usr/sbin/sshd

Sshd服务的配置文件默认位于/etc/ssh/sshd_config目录下

服务器监听选项:

Vi  /etc/ssh/sshd_config

Port  22     监听端口为22

listenAddress   192.168.1.10 监听地址为192.168.1.10

Protocol  2  使用SSH V2协议  V2 V1 的安全性更好)

UseDNS   no  禁用DNS反向解析  (提高服务器响应速度)

Service   sshd  reload

用户登录控制:

Sshd服务默认允许root用户登录

Vi  /etc/ssh/sshd_config

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

permitRootLogin no    禁止root用户登录

MaxAuthTries  6       最大重试次数为6

PermitEmptyPasswords no  禁止空密码用户登录

Service   sshd  reload

登录验证方式:

密码验证:以服务器中本地系统用户的登录名称、密码进行验证

密钥对验证:要求提供相匹配的密钥信息才能通过验证

Vi  /etc/ssh/sshd_config

PasswordAuthentication yes   启用密码验证

PubkeyAuthentication yes   启用密钥对验证

AuthorizedKeysfile .ssh/authorized_keys  指定公钥库数据文件

Service   sshd  reload

二、使用SSH客户端程序

  命令程序 sshscpsftp

sftp命令(安全FTP上下载)

格式:sftp  user@host

Ssh命令:(远程安全登录):

格式:ssh  user@host

例:ssh  -p  2345      使用非默认端口号连接

Scp命令:(远程安全复制):

格式1scp  user@host:file1  file2

格式2scp  file1 user@host:file2

三、构建密钥对验证的ssh体系

在客户端创建密钥对:ssh-keygen  -t  rsa

-t:用于指定算法类型   可用的加密算法为RSADSA

将公钥文件上传至服务器:

Scp  ~/ssh/id_rsa.pub 

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

Mkdir  -p  /home/lisi/.ssh/

Cat   /tmp/id_rsa.pub  >> /home/lisi/.ssh/authorized_keys

在客户端使用密钥对验证:

Ssh 

四、TCP Wrappers访问控制

  对应的两个策略文件为/etc/hosts.allow/etc/hosts.deny,分别用来设置允许和拒绝的策略

策略的配置格式:

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

服务程序列表:

ALL:代表所有的服务

单个服务程序:如“vsftpd

多个服务程序组成的列表:如“vsftpdsshd

客户机列表:

ALL:代表任何客户机地址

LOCAL:代表本机地址

单个IP地址:如“192.168.1.1

网络段地址:如“192.168.1.0/255.255.255.0

以‘.’开始的域名:如“.benet.com”匹配benet.com域中的所有主机

以‘.’结束的网络地址:如“192.168.4.”匹配整个192.168.4.0/24网段

*:任意多个字符   ?:任意单个字符

访问控制的基本原则:

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