远程访问及控制
一,ssh远程管理
1,配置openssh服务器
ssh协议
- 是一种安全通道协议
- 对通信数据进行了加密处理,用于远程管理
openssh
- 服务名称:sshd
- 服务端主程序:/usr/sbin/sshd
- 服务端配置文件;/etc/ssh/sshd_config
服务监听选项
- 端口号(默认端口号22),协议版本,监听ip地址
- 禁用反向解析
例如:禁用DNS反向解析地址可以提高服务器的响应地址:
[root@server1 ~]# vi //etc/ssh/sshd_config
#Port 22 //监听端口号为22
#ListenAddress 0.0.0.0 //监听地址为0.0.0.0
#UseDNS no //禁用DNS反向解析
root@server1 ~]# service sshd reload //重新加载sshd
用户登录控制
- 禁用root 用户,空密码用户(默认是允许root登录)
- 限制登录验证时间,重试次数
- AllowUsers,DenyUser
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201017151126189.png#pic_center
例如:
root@server1 ~]# vi /etc/ssh/sshd_config
#LoginGraceTime 2m // 设置登录验证时间为2分钟
#PermitRootLogin yes //禁止root用户登录
#MaxAuthTries 6 //最大重试次数为6
#PermitEmptyPasswords no //禁止空密码用户登录
当希望只允许或禁止某些用户登录时,可以使用AllowUsers或DenyUser配置,两者用法类似,所以尽量不要同时使用。
例如:若只允许jerry和admin用户登录,且其中admin用户仅能够从ip地址为192.168.1.10的主机远程登录,可以参考以下操作:
[root@server1 ~]# vi /etc/ssh/sshd_config
AllowUsers jerry admin@192.168.1.10 //如果有多个用户可以用空格分隔 (这里的地址是客户机的地址)
登录验证方式
- 密码验证: 核对用户名,密码是否匹配
- 密钥对验证:核对客户的私钥,服务端公钥是否匹配
vi /etc/ssh/sshd_config
......
password/authentication yes
pubkeyauthentication yes
authorizedkeysfile .ssh/authorized_keys
# 启用密码验证,密码对验证,指定公钥库位置
2,使用ssh客户端程序
命令程序 ssh, scp, sftp
- ssh命令 — 远程安全登录
ssh user@host
- scp命令---- 远程安全复制 (端口选项: -p 22)
格式1:scp user@host:file1 file2
格式2 :scp file1 user@host:file2
服务器端复制文件给客户机
scp /etc/passwd root@192.168.1.101:/opt/ (服务器上打的)
客户机端复制文件给服务器
scp /opt/1111.txt zhangsan@192.168.1.100:/home/zhangsan (客户机上面打)
服务器端复制文件给客户机
scp zhangsan@192.168.1.100:/home/zhangsan/1.txt /root (客户机上打)
zhangsan@192.168.1.100's password:
1111.txt 100% 7 0.4kb/s 00:00
客户机端复制目录给服务器
scp -r /opt/ zhangsan@192.168.1.100:/home/zhangsan
zhangsan@192.168.1.100's password:
1111.txt 100% 7 0.4kb/s 00:00
passwd 100% 2379 1.3MB/s 00:00
- sftp命令 ----安全ftp上传下载(共用22号端口)
sftp user@host
例如;
sftp zhangsan@192.168.1.100
zhangsan@192.168.1.100's password:
Connected to 192.168.1.100
sftp> ls
1111.txt opt
sftp> get 1111.txt
Fetching /home /zhangsan/1111.txt. to 1111.txt
/home /zhangsan /1111.txt 100% 7 0.4kb/s 00:00
3,构建密钥对验证的ssh体系
整体实现过程
在客户机中1创建密钥对
- ssh-keygen 命令
- 可用的加密算法:RSA,ecdsa或DSA
二,TCP Wrappers 访问控制
1,tcp wrappers概述
2,tcp wrappers 的访问控制策略
策略的应用顺序
- 1,检查hosts .allow ,找到匹配则允许访问
- 2,再检查hosts.deny ,找到则拒绝访问
- 3,若两个文件中均无匹配策略,则默认允许访问
策略应用示例
- 仅允许以下地址访问sshd服务
- 主机61.63.65.67
- 网段192.168.2.0/24
- 禁止其他所有地址访问受保护的服务