第十章:远程访问及控制
一、远程管理
1、远程管理的方式
1)、telnet
默认端口23
传输明文数据
传输数据没有被加密
内部远程管理使用
2)、ssh
默认端口22
传输加密数据
安全性强
适合通过互联网远程管理
3)、http/https
使用浏览器远程管理
兼容性强
使用简单
4)、RDP
默认端口3389
Windows系统使用
2、openssh远程管理
1)openssh的组成
服务器端:openssh-server
客户端:openssh-clients
2)服务和配置文件
1)服务名字
sshd
2)ssh主配置文件位置
/etc/ssh/sshd_config
3)主配置文件常见的配置选项
Port 22 //监听端口
ListenAddress 0.0.0.0 //监听任意IP地址
PermitRootLogin yes //允许root远程登录,no不允许root远程登录
MaxAuthTries 6 //重试6次
PubkeyAuthentication yes //开启密钥对验证
PermitEmptyPasswords no //拒绝密码为空访问
PasswordAuthentication yes //开启账户密码验证
Protocol 2 使用SSH V2协议 V2比V1安全性好
UseDNS no 禁用DNS反向解析 提高服务器的响应速度
LoginGraceTime 2m 登录验证时间为2分钟
PermitRootLogin yes 允许root用户登录
MaxAuthTries 6 最大重试次数为6
PermitEmptyPasswords no 禁止空密码登录
DenyUsers bob@192.168.100.20 拒绝用户登录
AllowUsers bob@192.168.100.20 允许用户登录
PasswordAuthentication yes 启用密码验证
PubkeyAuthentication yes 启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys 公钥存储位置
3、配置ssh服务器
1)配置服务器端
[root@centos01 ~]# vim /etc/ssh/sshd_config
18 Port 2222 //修改监听端口
21 ListenAddress 192.168.100.10 //修改监听IP地址
41 PermitRootLogin no //拒绝root远程登录
67 PermitEmptyPasswords no //拒绝密码为空登录
2)客户端访问远程服务器
[root@centos02 ~]# ssh -p 2222 root@192.168.100.10
4、ssh访问控制
1)ssh访问控制列表类型
AllowUsers:允许指定的用户或者IP地址访问,多个用户使用空格隔开
DenyUsers:拒绝指定用户或者IP地址访问,多个用户空格隔开
2)拒绝客户端IP地址192.168.100.20使用bob账户登录
[root@centos01 ~]# vim /etc/ssh/sshd_config
DenyUsers bob tom@192.168.100.20
3)创建bob和tom账户
[root@centos01 ~]# useradd bob
[root@centos01 ~]# passwd bob
4)客户端验证
[root@centos02 ~]# ssh bob@192.168.100.10
5、openssh免交互式身份验证
1)openssh验证方式
账户密码:用户远程管理输入账户密码
密钥对:通过公钥和私钥结合身份验证,批量管理服务器使用
2)生成密钥对
[root@centos02 ~]# ssh-keygen -t RSA
3)传输公钥到远程访问服务器端
[root@centos02 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.100.10
4)客户端免交互式登录远程访问服务器
[root@centos02 ~]# ssh root@192.168.100.10
6、远程数据复制方式
1)scp
使用scp命令复制数据到远程计算机,或者将远程计算机数据复制到本地
2)sftp
通过访问sftp方式将本地数据上传到远程服务器
3)第三方工具上传数据
winscp
4)使用scp将本地文件上传到远程主机指定的目录
[root@centos02 ~]# ssh root@192.168.100.10
5)将远程主机192.168.100.20的截图软件复制本地主机根目录
[root@centos01 ~]# scp root@192.168.100.20:/root/截图软件.exe /
6)将本地目录benet复制到远程主机192.168.100.20的root目录
[root@centos01 ~]# scp -r /benet/ root@192.168.100.20:/root
7)sftp客户端使用
[root@centos01 ~]# sftp 192.168.100.20 //访问远程主机192.168.100.20
sftp> put 1.iso //上传1.iso到远程主机
二、应用层访问控制
1、应用层常见的协议端口
1)telnet
23
2)ssh
22
3)ftp
20
21
4)pop3
110
5)smtp
25
6)http
80
2、TCP Wrappers策略文件类型
1) /etc/hosts.allow
允许访问
2) /etc/hosts.deny
拒绝访问
3、策略文件组成
1)服务器列表
ALL:所有服务
vsftpd:单个服务
vsftpd,sshd:多个服务
服务的名字
多个连续的服务使用逗号隔开
显示所有的服务使用ALL
2)客户端列表
ALL:所有客户端
LOCAL:本地主机
192.168.100.10:单个ip地址
192.168.100.0/255.255.255.0:网段
限制多个ip或者网段用,号隔开
*通配符
网络地址:192.168.100.0/24
网络范围:192.168.100.10-192.168.100.20
4、策略文件格式和检查顺序
1)策略文件格式
服务名:客户列表
2)策略文件检查顺序
先检查允许,匹配不再检查
允许列表为空,检查拒绝列表,匹配不再检查
允许和拒绝列表为空默认允许用户访问
3)拒绝客户端192.168.100.20使用ssh远程访问
[root@centos01 ~]# vim /etc/hosts.deny
sshd:192.168.100.20
5、TCP Wrappers的应用顺序
1)、匹配即停止
在hosts.allow中发现允许直接放行
2)、hosts.allow为空检查hosts.deny
deny中有策略要求直接拒绝访问
3)、allow和deny都没有限制规则
默认允许访问