博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssh访问与控制
阅读量:7252 次
发布时间:2019-06-29

本文共 2308 字,大约阅读时间需要 7 分钟。

rpm -qa | grep openssh

openssh-server-7.4p1-11.el7.x86_64 //ssh服务器
openssh-7.4p1-11.el7.x86_64
openssh-clients-7.4p1-11.el7.x86_64 //ssh客户端软件

vi /etc/ssh/sshd_config //ssh配置文件

Port 9922 默认端口号,为了其安全一般要更改为其他端口

#AddressFamily any 说明要监听任意地址
#ListenAddress 0.0.0.0 监听本机所有的IPv4的ip
#ListenAddress :: 监听本机所有的ipv6的地址
Protocol 2 监听的协议版本

HostKey for protocol version 1 //说明key的协议版本

SyslogFacility AUTHPRIV //使用AUTHPRIV 记录日志

#LogLevel INFO //log日志级别

Authentication: //认证相关

#LoginGraceTime 2m //登陆宽限时长 默认2分钟不登录自动关闭

#PermitRootLogin yes //是否支持管理员直接登陆,no禁止root用户登录
#StrictModes yes //是否使用严格模式 (严格检查用户的某些相关信息)
#MaxAuthTries 6 //最大尝试次数 (6次以后终端断开)
#MaxSessions 10 //最大并发允许链接数 (超过 将拒绝)
#RSAAuthentication yes //是否支持RSA密钥认证
#PubkeyAuthentication yes //是否支持公钥认证
#AuthorizedKeysFile .ssh/authorized_keys //默认保存口令的文件
#PermitEmptyPasswords no //是否支持空密码登陆
PasswordAuthentication yes 是否密码验证

UsePAM yes //是否使用PAM 认证( 是一种统一认证框架)

X11Forwarding yes //是否转发图形界面请求 (可以打开远程服务器图形界面)
Subsystem sftp /usr/libexec/openssh/sftp-server
#UseDNS yes //是否允许DNS反解 比较浪费时间一般更改为no
/etc/ssh/ssh_known_hosts //保存已经认可主机的文件

AllowUsers jack tom@192.168.80.110

DenyUsers lisa simon@192.168.80.111

客户端配置文件/etc/ssh/ssh_config 主要参数详解

客户端配置文件时登陆别人的ssh使用的# Host *        //表示连接所有主机#   Port 22        //默认连接端口#   Cipher 3des        //加密时使用的加密机制#   StrictHostKeyChecking ask    //严格的主机秘钥检查 即第一次连接时是否询问

构建密钥对验证的SSH体系: 无密码输入登录远程连接

在客户端用普通账号创建密钥对
将公钥文件上传至服务器
在服务器中导入公钥文本
在客户端使用密钥对验证

操作如下:

--------客户端------------
ssh-keygen -t rsa //生成以rsa算法密钥对
cd .ssh/
ls
scp id_rsa.pub root@192.168.80.100:/root

注:id_rsa 私钥

id_rsa.pub 公钥

-------SSH服务器------用普通用户去登陆服务器。

mkdir /home/test2/.ssh
cat id_rsa.pub > /home/test2/.ssh/authorized_keys

----客户端------

ssh test2@192.168.80.100

ssh-copy-id -i 公钥文件 用户@目标主机地址 // 验证密码后,会将公钥自动添加到目标主机usrer宿主目录下.ssh/authorized_keys文件结尾

其文件归属全为user

ssh-keygen -t rsa

ssh-copy-id root@192.168.80.101

注:客户端私钥不可丢失,不然其他人也可无密码登录服务器。


TCP Wrappers 访问控制保护机制

tcp wrapper只能对基于tcp协议的服务作访问控制,但并不是所有基于tcp协议的服务都能实现用tcp wraper作访问控制。

配置文件:/etc/hosts.allow允许访问,白名单

/etc/hosts.deny 拒绝访问,黑名单

内容策略: 服务列表:客户机地址列表

sshd: 192.168.80.110,192.168.80.*

sshd:ALL

先检查hosts.allow,找到匹配则允许访问

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

内置的访问控制列表:

ALL:所有的主机;

KNOWN:所有能被当前主机正确解析的主机名;

UNKNOWN:所有不能被当前主机正确解析的主机名;

PARANOID:正向解析和反向解析结果不一致所有主机;

转载于:https://blog.51cto.com/14150862/2337808

你可能感兴趣的文章
Go源码剖析:内置类型
查看>>
102. Binary Tree Level Order Traversal
查看>>
SAP云平台对Kubernetes的支持
查看>>
原来实现GCP用客户端登录这么简单啊
查看>>
PAT A1057 分块思想
查看>>
PAT A1007 动态规划
查看>>
VUE父子组件传递数据
查看>>
前端知识点——图片
查看>>
别人家的程序员是如何使用 Java 进行 Web 抓取的?
查看>>
95%的技术面试必考的JVM知识点都在这,另附加分思路!
查看>>
日期类问题
查看>>
区块链入门之基础知识
查看>>
mysql锁(Innodb)
查看>>
小程序开发之影分身术
查看>>
磨刀霍霍:爬爬爬爬爬爬虫爬起来~
查看>>
RxJava中的Observable,多Subscribers
查看>>
I/O模型和Java NIO源码分析
查看>>
第二天-《企业应用架构模式》-组织领域逻辑
查看>>
日志服务与SIEM(如Splunk)集成方案实战
查看>>
解决packet_write_wait: Connection to...: Broken pipe
查看>>