密钥对验证及TCP Wrappers访问控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密钥对验证及TCP Wrappers访问控制相关的知识,希望对你有一定的参考价值。
一、秘钥对验证
加密认证算法:RSA 、DSA两个都可使用
1、在客户机上生成密钥对
在客户机上执行”ssh-keygen -t rsa” 生成非对称加密秘钥对
2、将公钥文件上传到服务器
在客户机家目录的.ssh/目录下,将id_rsa.pub公钥文件上传给服务机
3、在服务器上创建秘钥目录并修改上传的秘钥文件名
上传完成后,要在服务机端的家目录下创建一个 .ssh/ 的目录,把id_rsa.pub改名为authorized_keys并剪切到家目录下的.ssh/目录里面。
4、编辑服务机端的/etc/ssh/sshd_config文件,取消注释
5、远程传输工具的使用
(1) scp 进行文件的上传和下载
上传格式:scp 本机文件 用户名@IP地址:目录
下载格式:scp 用户名@IP地址:文件名 本地保存位置
指定端口:-P(大)
(2)sftp 安全的ftp传输协议
登录方法:sftp 用户名@IP地址
指定端口:-oPort=端口
用sftp登录到服务端以后,操作服务端的命令和操作本机相同,如果想在登录服务端的同时操作本机,需要在命令前 面加上l
如果想让Windows也可以免密码连接到Linux,需要用x-shell工具-新建用户秘钥生成向导生成一个秘钥,然后将秘钥复制到Linux服务端的authorized_keys 文件里面即可
6、仅允许秘钥对登录,禁止密码登录
*确保启用ssh公钥认证功能,查看/etc/ssh/sshd_config文件,确保以下两条yes :
*禁止密码安全验证,编辑/etc/ssh/sshd_config文件,确保以下文件出现在文件中:
编辑这个文件完成之后,需要重启sshd服务:service sshd restart即可禁止密码登录,只能用秘钥对登录。
想让其他用户通过秘钥登录,可以直接把可以登录的私钥文件传给某个用户即可。
注意:一定要保护好私钥的安全性。
7、密钥对的快速生成及上传
上面所有的步骤介绍的是秘钥的详细生成过程,下面介绍秘钥对的快速生成及上传生效:
(1) 在客户机上输入命令:ssh-keygen -t rsa
(2) 上传公钥到服务端:ssh-copy-id 服务端用户名@IP地址
这样即可快速生成并上传,而且不用改名和提前创建.ssh目录
二、TCP Wrappers管理及访问控制
1、TCP Wrappers管理命令的条件
如果某个命令调用库文件libwarp.so ,那么这个命令就可以被TCP Wrappers管理。
which 命令名称 查询某服务命令所在位置
ldd 命令名称 查询某命令调用的库文件
2、访问控制策略的配置文件
白名单(允许访问):/etc/hosts.allow
黑名单(拒绝访问):/etc/hosts.deny
注意:白名单比黑名单优先级高
3、设置访问控制策略
策略格式:服务列表:客户机地址列表
服务列表:多个服务以逗号分隔,ALL 表示所有服务
客户机地址列表:多个地址以逗号分隔,ALL表示所有地址
例如:
允许使用通配符 ? 和 *
网段地址,如 192.168.4. 或者 192.168.4.0/255.255.255.0
4、策略的应用顺序
先检查hosts.allow,匹配即停止(即允许)
否则再检查hosts.deny,匹配即停止(即拒绝)
若两个文件中均无匹配策略,则默认允许访问
以上是关于密钥对验证及TCP Wrappers访问控制的主要内容,如果未能解决你的问题,请参考以下文章
ssh的使用配置全程实操(sftp密钥对验证TCP Wrappers策略应用),可跟做