远程访问及控制

技能展示:
学会构建SSH远程登录服务
学会使用SSH客户端工具
学会编写TCP Wrappers访问策略

简介
在此前的课程中曾陆续学习了网站。FTP等各种网络服务,实际上大多数企业服务器是通过远程登录的方式来进行管理的。当需要从一个工作站管理数以百计的服务器主机时,远程维护的方式将更占优势。
学习如何针对Linux环境使用安全的方式远程管理,以及通过TCP Warappers机制为应用提供访问控制。

重点
SSH服务的安全控制
TCP Wrappers访问策略

理论讲解

SSH远程管理

centos远程传文件 centos 远程_linux


配置OpenSSH服务端

centos远程传文件 centos 远程_centos远程传文件_02


一.远程访问控制

1)远程访问的作用

方便管理员远程控制服务器端

出故障方便远程解决

2)远程访问服务的特定

Linux远程访问使用的openssh实现

openssh默认端口是22

openshh分客户端和服务器端

2.安装openssh服务

1)安装服务器端

[root@Centos ~]# rpm -ivh /mnt/Packages/openssh-server-7.4p1-11.el7.x86_64.rpm

centos远程传文件 centos 远程_远程访问_03


2)安装客户端

[root@Centos ~]# rpm -ivh /mnt/Packages/openssh-clients-7.4p1-11.el7.x86_64.rpm

centos远程传文件 centos 远程_服务器_04


3)设置ssh服务器开机自动启动

[root@Centos ~]# systemctl enable sshd

[root@Centos ~]# systemctl start sshd

centos远程传文件 centos 远程_linux_05


4)openssh-server常见的配置选项

port22 监听的端口

ListenAddress0.0.0.0 监听任意IP地址

LoginGraceTime2m 登录超时时间2分钟

PermitRootLogin yes 允许root登录no表示阻止root登录

PubkeyAuthentication yes 开启密钥对身份验证

AuthorizedkeysFile .ssh/authorized_keys 存储身份验证密钥文件

PasswordAuthentication yes 开启账户密码验证

3.配置修改监听IP地址和端口号

1)修改sshd主配置文件

[root@Centos ~]# vim /etc/ssh/sshd_config

Port 22

ListenAddress 192.168.100.10

2)重新启动sshd服务

[root@Centos ~]# systemctl restart sshd

3)客户端访问远程访问服务器

[root@Centos ~]# ssh -p root@192.168.100.10

centos远程传文件 centos 远程_linux_06


[root@Centos ~]# ssh -p 2222 root@192.168.100.10

centos远程传文件 centos 远程_centos远程传文件_07


4)ssh-server访问控制

[root@Centos ~]# vim /etc/ssh/sshd_config

permitRootLogin no 阻止root用户本地登录

DenyUsers root@192.168.100.20 拒绝192.168.100.20使用root远程登录服务器

4.openssh服务器验证的方式

1)账户密码验证

适合远程管理少量服务器

管理复杂

2)密钥对验证

适合批量管理服务器

不需要输入账户密码

二.配置密钥对身份验证和访问控制

1.配置密钥对身份验证

1)修改远程访问服务器主配置文件支持密钥对验证

[root@Centos ~]# vim /etc/ssh/sshd_config

PubkeyAuthentication yes 开启公钥身份验证

AuthorizedKeysFile .ssh/authorized_keys 指定公钥存储位置

2)客户端生成密钥对

[root@Centos ~]# ssh-keygen -t rsa

centos远程传文件 centos 远程_客户端_08


3)客户端上传公钥到远程访问服务器

[root@Centos ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.100.10

centos远程传文件 centos 远程_centos远程传文件_09


2.远程数据复制

1)将远程服务器数据下载到本地当前目录

[root@Centos ~]# scp root@192.168.100.10:/root/authorized_keys ./

centos远程传文件 centos 远程_远程访问_10


2)远程主机数据复制到客户端192.168.100.20的opt目录中

[root@Centos ~]# scp authorized_keys root@192.168.100.20:opt

centos远程传文件 centos 远程_linux_11


3)复制远程主机目录中的所有数据到本地

[root@Centos ~]# scp -r /bdqn/ root@192.168.100.20:/opt/

centos远程传文件 centos 远程_远程访问_12


3.使用sftp传输数据

1)登录远程服务器

[root@Centos ~]# sftp root@192.168.100.10

centos远程传文件 centos 远程_远程访问_13


2)上传数据到远程服务器

sftp> put 3.txt

centos远程传文件 centos 远程_服务器_14


3)下载数据

sftp> get 2.txt

centos远程传文件 centos 远程_服务器_15


4.tcp wrappers的作用

1)TCp wrappers的作用

针对应用层数据进行访问控制

2)TCP wrappers策略文件

hosts.allow 允许访问

hosts.deny 拒绝访问

5.TCP wrappers策略文件检查原理

1)先检查允许

匹配不再检查直接放行

2)允许为空检查拒绝

匹配拒绝不允许访问

3)允许和拒绝为空

默认允许访问

6.TCP wrappers策略文件格式

centos远程传文件 centos 远程_服务器_16


centos远程传文件 centos 远程_远程访问_17


centos远程传文件 centos 远程_centos远程传文件_18

1)服务列表

服务名字

all所有所有

2)客户端列表

主机

网络

网络范围

域名

centos远程传文件 centos 远程_centos远程传文件_19


安装openshh服务端和客户端

centos远程传文件 centos 远程_客户端_20


开启监听的端口和监听的ip地址

centos远程传文件 centos 远程_服务器_21


阻止root账户本地登录

centos远程传文件 centos 远程_centos远程传文件_22


只允许wzadm和jacky用户只能在20主机上登录

centos远程传文件 centos 远程_客户端_23


客户端生成密钥对

centos远程传文件 centos 远程_客户端_24

客户端上传公钥到wzadm账户远程访问服务器

centos远程传文件 centos 远程_远程访问_25

锁定wzadm账户

centos远程传文件 centos 远程_centos远程传文件_26


使用jacky账户在20主机登录centos01

centos远程传文件 centos 远程_客户端_27


使用wzadm账户登录centos01

centos远程传文件 centos 远程_centos远程传文件_28


不允许其他主机登录

centos远程传文件 centos 远程_客户端_29


操作完成感谢观看,拜拜😊😄😁