SSH远程访问+TCP控制

SSH远程管理

OpenSSH服务器
SSH(secureshell)协议是一种安全通道协议,对通信数据进行了加密处理,用于远程管理
OpenSSH
服务器名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd_config

服务监听选项:端口号、协议版本、监听IP地址,禁用反向解析
vi /etc/ssh/sshd_config
port xx #端口号
Listen Address xxxxx #监听地址
Drorocol x #协议版本
userDNS no #禁用方向解析(禁用重进项)

用户登录控制:禁用root用户、空密用户,限制登录验证时间、重试次数,Allowusers(白名单),Denyusers(黑名单)
vi /etc/ssh/sshd_config
LoginGraceTime 2m #限制登录时间2分钟
DermitRootLogin no #进制root用户登录
MaxAuthTries 6 #最大登录次数为6次
PermitEmptyPasswds no #禁止空密用户

AllowUsers xx@(ip) #只允许xx以(ip)登录
DenyUsers xx@(ip) #禁止xx以(ip)登录
(黑名单和白名单不要同时用)

登录验证方式

密码验证:核对用户名、密码是否匹配
密钥验证:核对客户私钥、服务器端公钥是否匹配
vi /etc/ssh/sshd_config
PasswordAuthentication yes #启用密码验证
PubkeyAuthentication yes #启用密钥对验证
AuthorizedKeyFile .ssh/authorized_key #指定公钥库位置

SSH客户端程序

ssh——远程安全登录 sshuser@host
scp——远程安全复制
scp user@host:file1 file2
scp file1 user@host:file2
sftp——安全FTP上下载 sftp user@host

1.创建密钥对(客户端用户在本地创建密钥对)

ssh-keygen 【-t 生成密钥算法:RSA…】
询问生成密钥的位置(直接enter,默认括号内位置)

设置密钥短语并确认(直接enter,不设置跳过)

私钥只能自己使用,公钥可由对方使用,文件的加密和解密必须由同一对密钥完成
私钥文件:id_rsa
公钥文件:id_rsa.pub

2.上传公钥文件 客户机→服务器

cd /home/pp/.ssh #进入.ssh目录,此目录为隐藏目录
scp id_rsa.pub root@host:/tmp #将公钥文件复制到服务器,

3.导入公钥信息 公钥文件导入~/.ssh/authorized keys

在服务器端
mkdir /home/pp/.ssh #在用户pp下创建.ssh目录
cd /tmp #进入tmp
cat id_rsa.pub >> /home/pp/.ssh/authorized_keys #将公钥文件内容放入 /home/pp/.ssh/authorized_keys内
cat /home/pp/.ssh/authorized_keys #查看

4.使用密钥对验证,以服务器端身份在客户端登录

ssh pp@host

注:第2、3步可合成一步
ssh-copy-id -i /home/pp/.ssh/id_rsa.pubpp@host
ssh-agent bash #以下当设置了密钥短语时用
ssh-add

TCP Wrappers

保护机制的实现方式

1.通过tcpd程序对其它服务程序进行包装
2.由其它服务程序调用libwrap.so.*链接库

访问控制策略的配置文件

/etc/hosts.allow#白名单
/etc/hosts.deny#黑名单

TCP Wrappers策略应用

设置访问控制策略
策略格式:服务程序列表:客户端地址列表
服务程序列表:多个服务以逗号分隔,ALL表示所有服务
客户端地址列表:
多个服务以逗号分隔,ALL表示所有服务
允许使用通配符?和*
网段地址,如192.168.1.?或192.168.1.0/255.255.255.0
区域地址,如.benet.com

策略的应用顺序

检查hosts.allow,找到匹配则允许访问
再检查hosts.deny,找到则拒绝访问
若两个文件中均无匹配策略,则默认允许访问

例:仅允许以下地址访问sshd服务
主机:61.63.65.67
网段:192.168.2.0/24
vi /etc/hosts.allow
sshd:61.63.65.67,192.168.2.*
禁止其他所有地址访问受保护的服务
vi /etc/hosts.deny
sshd:ALL

SSH项目操作

先创建密钥对

 ssh-keygen -t ecdsa

Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/zhangsan/.ssh/id_ecdsa):  
Created directory '/home/zhangsan/.ssh'.                
Enter passphrase (empty for no passphrase):      
Enter same passphrase again:    
Your identification has been saved in /home/zhangsan/.ssh/id_ecdsa.  
Your public key has been saved in /home/zhangsan/.ssh/id_ecdsa.pub   

在这里插入图片描述

将公钥上传到服务器

scp ~/.ssh/id_ ecdsa.pub root@192.168.10.128:/tmp

在这里插入图片描述

在服务器中导入公钥文本

mkdir  /home/lisi/.ssh/ 
 cat  /tmp/id_ecdsa.put  >> /home/lisi/.ssh/authorized_keysauthorized_keys
 tail  -1  /home/lisi/.ssh/authorized_keys

在这里插入图片描述

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

ssh root@192.168.10.127

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值