• ssh使两台机器建立连接


    ssh利用口令建立连接过程:
        客户端--> 发送连接请求 --> 远程主机 --> 返回远程主机的公钥 --> 公钥加密客户端私钥+客户端公钥返回远程主机 --> 远程主机解密登陆密码(公钥),正确则允许登录
    
    ***这里会出现的问题是:
        假如黑客从中间截取连接请求,伪装真实的远程主机发送公钥给客户端,这样就会获得机器的真实密码,然后进行登录破坏。
    
    ssh利用公钥私钥进行连接过程:
        客户端 --> 发送连接请求 --> 远程主机 --> 返回随机字符串 --> 用私钥加密随机字符串返回 --> 公钥解密,如果正确则允许登录

    1. 利用ssh-keygen生成一对密钥

      一路回车,可以不对密钥设置口令(担心安全),可以设置一个

      运行结束后,会在$HOME/.ssh/下生成一对密钥

    [root@frankie .ssh]# ls 
    id_rsa  id_rsa.pub  known_hosts
    

      

    2. 将公钥传到远程主机host上(这里需要远程主机的密码)

    [root@frankie .ssh]# ssh-copy-id root@192.168.70.131
    

      

    3. 测试是否可以进行登录(无密码登录)

    [root@frankie .ssh]# ssh 192.168.70.131
    

      

    4. 出现错误

    1) 如果还是不能无密码登录

    [root@frankie .ssh]# vim /etc/ssh/sshd_config 
    #去掉前面的注释
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    

     

    #重启ssh服务
    [root@frankie .ssh]# service sshd restart
    

      

  • 相关阅读:
    C# 以管理员身份运行程序
    C# 全局热键设置 与 窗体热键设置
    C# Math类详细说明
    WIN7命令工具大全
    jQuery Validation ,调用valid方法时,不验证remote
    Nopcommerce4.2解析——安装
    MVC授权不通过之后不执行任何自定义ActionFilter
    《将博客搬至CSDN》
    Unity开发者的C#内存管理(中篇)
    Unity开发者的C#内存管理(上篇)
  • 原文地址:https://www.cnblogs.com/frankielf0921/p/7248843.html
Copyright © 2020-2023  润新知