一、秘钥对验证

加密认证算法:RSA DSA两个都可使用

1、在客户机上生成密钥对

在客户机上执行ssh-keygen  -t  rsa 生成非对称加密秘钥对

密钥对验证及TCP Wrappers访问控制_TCP Wrappers管理及访问控制

2、将公钥文件上传到服务器

在客户机家目录的.ssh/目录下,将id_rsa.pub公钥文件上传给服务机

密钥对验证及TCP Wrappers访问控制_访问控制权限的配置_02

密钥对验证及TCP Wrappers访问控制_Linux实现免密码登录_03

3、在服务器上创建秘钥目录并修改上传的秘钥文件名

上传完成后,要在服务机端的家目录下创建一个 .ssh/ 的目录,把id_rsa.pub改名为authorized_keys并剪切到家目录下的.ssh/目录里面。

 

4、编辑服务机端的/etc/ssh/sshd_config文件,取消注释

密钥对验证及TCP Wrappers访问控制_远程传输工具的使用_04 


5、远程传输工具的使用

   1  scp  进行文件的上传和下载

     上传格式:scp  本机文件  用户名@IP地址:目录

     下载格式:scp  用户名@IP地址:文件名  本地保存位置

     指定端口:-P()

 

   2sftp  安全的ftp传输协议

      登录方法:sftp  用户名@IP地址

       指定端口:-oPort=端口

      sftp登录到服务端以后,操作服务端的命令和操作本机相同,如果想在登录服务端的同时操作本机,需要在命令前        面加上l

        密钥对验证及TCP Wrappers访问控制_Linux实现免密码登录_05


如果想让Windows也可以免密码连接到Linux,需要用x-shell工具-新建用户秘钥生成向导生成一个秘钥,然后将秘钥复制到Linux服务端的authorized_keys 文件里面即可

 

6、仅允许秘钥对登录,禁止密码登录

*确保启用ssh公钥认证功能,查看/etc/ssh/sshd_config文件,确保以下两条yes

   密钥对验证及TCP Wrappers访问控制_TCP Wrappers管理及访问控制_06

*禁止密码安全验证,编辑/etc/ssh/sshd_config文件,确保以下文件出现在文件中:

密钥对验证及TCP Wrappers访问控制_远程传输工具的使用_07密钥对验证及TCP Wrappers访问控制_远程传输工具的使用_08


编辑这个文件完成之后,需要重启sshd服务:service sshd restart即可禁止密码登录,只能用秘钥对登录。

想让其他用户通过秘钥登录,可以直接把可以登录的私钥文件传给某个用户即可。

注意:一定要保护好私钥的安全性。

 

7、密钥对的快速生成及上传

上面所有的步骤介绍的是秘钥的详细生成过程,下面介绍秘钥对的快速生成及上传生效:

(1) 在客户机上输入命令:ssh-keygen  -t  rsa

(2) 上传公钥到服务端:ssh-copy-id  服务端用户名@IP地址

这样即可快速生成并上传,而且不用改名和提前创建.ssh目录

 

 

TCP Wrappers管理及访问控制

1TCP Wrappers管理命令的条件

如果某个命令调用库文件libwarp.so ,那么这个命令就可以被TCP Wrappers管理。

which 命令名称   查询某服务命令所在位置

ldd  命令名称    查询某命令调用的库文件

 

2、访问控制策略的配置文件

白名单(允许访问):/etc/hosts.allow

黑名单(拒绝访问):/etc/hosts.deny

注意:白名单比黑名单优先级高

3、设置访问控制策略

策略格式:服务列表:客户机地址列表

服务列表:多个服务以逗号分隔,ALL 表示所有服务

客户机地址列表:多个地址以逗号分隔,ALL表示所有地址

 

例如

密钥对验证及TCP Wrappers访问控制_Linux密钥对生成及上传_09

密钥对验证及TCP Wrappers访问控制_Linux实现免密码登录_10

允许使用通配符 ? *

网段地址,如 192.168.4.  或者 192.168.4.0/255.255.255.0

 

4、策略的应用顺序

先检查hosts.allow,匹配即停止(即允许)

否则再检查hosts.deny,匹配即停止(即拒绝)

若两个文件中均无匹配策略,则默认允许访问