ssh远程登录包括秘钥对验证的登录设计实验

一. SSH远程管理

1.1 配置Open SSH服务端

  • 配置文件/etc/ssh/sshd_config

    • 服务名称:sshd

    • 服务端主程序:/usr/sbin/sshd

    • 服务端配置文件:/etc/ssh/sshd_config

    • 服务监听选项

      • 端口号:Port 21

        修改其他端口不能登陆

      • 协议版本:Protocol 2

      • 监听IP地址:ListenAddress 172.16.16.22 (管理平面上的IP地址)

      • 禁用反向解析:UseDNS no

    • 用户登录控制

      • 禁用root用户,空密码登录

        • PermitRootLogin no
        • PermitEmptyPasswords no
      • 限制登陆验证时间,重试次数

        • LoginGraceTime 2m
        • MaxAuthTries 6
      • AllowUsers jerry admin@61.23.24.25

        admin用户仅能够从IP地址为61.23.24.25的主机远程登陆

      • DenyUsers

    • 登录验证方式

      • 密码验证:核对用户名,密码是否匹配

        • PasswordAuthentication yes
      • 密钥对验证:核对客户的私钥,服务端公钥是否匹配

        • PubkeyAuthencation yes
        • AuthenorizedKeysFile .ssh/authorized_keys 存储密钥的位置

1.2 使用SSH客户端程序

  • ssh命令 远程登陆

    • #ssh liang@host
  • scp命令 远程安全复制

    • #scp user@host:file1 file2 ##下载##
    • #scp file1 user@host:file2 ##上传##
  • sftp命令 安全FTP上下载

    • #sftp user@host

1.3 密钥对验证的SSH体系

- 步骤1:在客户机中创建密钥对

	- ssh-keygen命令
	- 可用的加密算法:RSA,  ECDSA或DSA

-
 步骤2:将公钥文件上传至服务器

	- 客户端: ##scp ~/.ssh/id_rsa.pub root@20.0.0.11:/tmp
- 步骤3:在服务器中导入公钥文本

	- 服务器默认公钥库位置:~/.ssh/authorized_keys

		- ##mkdir /home/lisi/.ssh/     
		- ##cat /tmp/id_rsa.pub >> /home/lisi/.ssh/authorized_keys  
		- ##tail -1 /home/list/.ssh/authorized_keys
- 步骤4:在客户端使用密钥对验证

	- ##ssh list@20.0.0.11
-步骤2和步骤3可以合并成一个步骤
 ##ssh-copy-id -i ~/.ssh/id_rsa.pub list@20.0.0.11

二. TCP Wrappers访问控制

2.1 TCP Wrappersf概述

  • 保护机制的实现方式

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

2.2 TCP Wrappers访问策略

  • 访问控制策略的配置文件

    • /etc/hosts.allow
    • /etc/hosts.deny
  • 策略格式:服务程序列表:客户端地址列表

©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页