• 第十四周作业


    一、创建私有CA并进行证书申请

    1、创建CA所需要的文件

    #生成证书索引数据库文件
    touch /etc/pki/CA/index.txt
    #指定第一个颁发证书的序列号
    echo 01 > /etc/pki/CA/serial
    

    2、 生成CA私钥

    cd /etc/pki/CA/
    (umask 066; openssl genrsa -out private/cakey.pem 2048)
    

    3、生成CA自签名证书

    openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem
    

    5、为需要使用证书的主机生成生成私钥

    (umask 066; openssl genrsa -out /data/test.key 2048)
    

    6、为需要使用证书的主机生成证书申请文件

    openssl req -new -key /data/test.key -out /data/test.csr
    

    7、在CA签署证书并将证书颁发给请求者

    openssl ca -in /data/test.csr -out /etc/pki/CA/certs/test.crt -days 100
    

    二、总结ssh常用参数、用法

    ssh命令是ssh客户端,允许实现对远程系统经验证地加密安全访问,当用户远程连接ssh服务器时,会复制ssh服务器/etc/ssh/ssh_host*key.pub文件中的公钥到客户机的~/.ssh/know_hosts中。下次连接时,会自动匹配相对应的私钥,不能匹配,将拒绝连接。
    ssh客户端配置文件: /etc/ssh/ssh_config

    常见选项

    -p port:远程服务器监听的端口
    -b 指定连接的源IP
    -v 调试模式
    -C 压缩方式
    -X 支持x11转发
    -t 强制伪tty分配,如:ssh -t remoteserver1 ssh -t remoteserver2 ssh
    remoteserver3
    -o option 如:-o StrictHostKeyChecking=no
    -i <file> 指定私钥文件路径,实现基于key验证,默认使用文件: ~/.ssh/id_dsa,
    ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519,~/.ssh/id_rsa等
    

    基于用户和口令登录验证

    1. 客户端发起ssh请求,服务器会把自己的公钥发送给用户
    2. 用户会根据服务器发来的公钥对密码进行加密
    3. 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功

    基于密钥的登录方式

    1. 首先在客户端生成一对密钥(ssh-keygen)
    2. 并将客户端的公钥ssh-copy-id 拷贝到服务端
    3. 当客户端再次发送一个连接请求,包括ip、用户名
    4. 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串
    5. 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端
    6. 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端
    7. 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。

    三、总结sshd服务常用参数。

    服务器端的配置文件: /etc/ssh/sshd_config
    服务器端的配置文件帮助:man 5 sshd_config

    常用参数:

    Port
    ListenAddress ip
    LoginGraceTime 2m
    PermitRootLogin yes #默认ubuntu不允许root远程ssh登录
    StrictModes yes #检查.ssh/文件的所有者,权限等
    MaxAuthTries 6 #pecifies the maximum number of authentication
    attempts permitted per connection. Once the number of failures reaches half
    this value, additional failures are logged. The default is 6.
    MaxSessions 10 #同一个连接最大会话
    PubkeyAuthentication yes #基于key验证
    PermitEmptyPasswords no #空密码连接
    PasswordAuthentication yes #基于用户名和密码连接
    GatewayPorts no
    ClientAliveInterval 10 #单位:秒
    ClientAliveCountMax 3 #默认3
    UseDNS yes #提高速度可改为no
    GSSAPIAuthentication yes #提高速度可改为no
    MaxStartups #未认证连接最大值,默认值10
    Banner /path/file
    #以下可以限制可登录用户的办法:
    AllowUsers user1 user2 user3
    DenyUsers user1 user2 user3
    AllowGroups g1 g2
    DenyGroups g1 g2
    
    
  • 相关阅读:
    shell中的交互模式:expect
    hive(II)--sql考查的高频问题
    ETL工具--kettle篇(17.10.09更新)
    hive(I)--学习总结之常用技能
    ubantu上搭建hive环境
    shell实例练习+详解
    搭建hadoop、hdfs环境--ubuntu(完全分布式)
    oracle 获取一个字段的年月日
    oracle 两表更新 报错ORA-01779: 无法修改与非键值保存表对应的列
    oracle 查看表空间 添加数据文件
  • 原文地址:https://www.cnblogs.com/qiaokaixin/p/15033874.html
Copyright © 2020-2023  润新知