zoukankan      html  css  js  c++  java
  • Ubuntu ssh秘钥生成

    一,秘钥生成传送

    ssh-keygen  选项:
    -b:指定密钥长度;
    -e:读取openssh的私钥或者公钥文件;
    -C:添加注释;
    -f:指定用来保存密钥的文件名;
    -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
    -l:显示公钥文件的指纹数据;
    -N:提供一个新密语;
    -P:提供(旧)密语;
    -q:静默模式;
    -t:指定要创建的密钥类型。
    
    
    #生成
    ssh-keygen  -t rsa -N ''   -f   ~/.ssh/id_rsa  
    
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
    
    #复制到远程主机
    ssh-copy-id -i   ~/.ssh/id_rsa.pub    sati2@192.168.8.174
    
    #测试远程主机是否开启PubkeyAuthentication
    grep  PubkeyAuthentication /etc/ssh/sshd_config
    
    
    #设置目录权限
    chmod   700 .ssh
    chmod 600 authorized_keys
    
    
    #####
    ##问题
    每次输入ssh命令后,虽然可以连接上目标服务器,但是往往要等待很久,这是因为ssh默认开启了地址反解析
    将每个linux上/etc/ssh/sshd_config文件中修改或加入UseDNS=no,在server上/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no      
    重启服务
    
    PasswordAuthentication yes/on ----------------------> 开启或者关闭密码连接
    PermitRootLogin yes/no ----------------------------->允许超级用户登录
    AllowUsers student----------------------------->只允许登录的用户
    DenyUsers student-------------------------->不允许登录的用户
    
    
    

    报错:

    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that the RSA host key has just been changed.The fingerprint for the RSA key sent by the remote host is36:68:a6:e6:43:34:6b:82:d7:f4:df:1f:c2:e7:37:cc.Please contact your system administrator.Add correct host key in /u/xlian008/.ssh/known_hosts to get rid of this message.Offending key in /u/xlian008/.ssh/known_hosts:2RSA host key for 135.1.35.130 has changed and you have requested strict checking.Host key verification failed.
    

    原因:
    ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免你受到DNS Hijack之类的***。

    处理1:
    删除~/.ssh/known_hosts 内相关IP的rsa信息

    处理2:
    使用命令清除所连接的IP
    ssh-keygen -R XX.XX.XX.XX
    其中,XX.XX.XX.XX为之前连接时的网段IP
    重新连接

    expect 自动输入秘钥传输

  • 相关阅读:
    Spring Security和Swagger2集成报错
    [转] SpringBoot返回json 数据以及数据封装
    ElasticSearch问题总结
    Linux基础命令
    Jenkins总结3-shell脚本
    Jenkins总结2-部署maven项目
    SpringCloud启动异常Stopping service [Tomcat]
    索引使用场景
    flask app.config
    python验证企业统一信用码
  • 原文地址:https://www.cnblogs.com/g2thend/p/11652715.html
Copyright © 2011-2022 走看看